随笔分类 - shell
摘要:在使用 linux 命令或者 shell 编程时,这个用法常会遇到 2>&1 下面看一个命令示例,然后分析下他是如何工作的: ls foo > /dev/null 2>&1首先需要了解两个基础概念:I/O重定向、文件描述符 I/O重定向重定向 的作用是把一个命令的输出结果发送到另一个地方。 例如,使
阅读全文
摘要:while read line 与for循环的区别 例子:要从一个ip列表中获取ip、port,然后ssh ip 到目标机器进行特定的command操作ssh -o StrictHostKeyChecking=no -p22 ip "ls -la /data/"ip列表:115.159.93 1 2
阅读全文
摘要:# find ./ -exec rm {} \; # find ./ | xargs rm -rf 两者都可以把find命令查找到的结果删除,其区别简单的说是前者是把find发现的结果一次性传给exec选项,这样当文件数量较多的时候,就可能会出现“参数太多”之类的错误,相比较而言,后者就可以避免这个
阅读全文
摘要:time='12:34:56' echo $time | awk '{split($0,a,":" ); print a[1]}' 12 echo $time | awk '{split($0,a,":" ); print a[3]}' 56 time='12 34 56' echo $time |
阅读全文
摘要:Shell case正则匹配法 case $BOOLEAN in [yY][eE][sS]) echo 'Thanks' $BOOLEAN ;; [yY]|[nN]) echo 'Thanks' $BOOLEAN ;; 'T'|'F') echo 'Thanks' $BOOLEAN ;; [Tt]u
阅读全文
摘要:同时匹配ABC 和 123:sed -n '/ABC/{/123/p}' awk '/ABC/&&/123/{ print $0 }' grep -E '(ABC.*123|123.*ABC)' 匹配ABC 或 123:sed -n '/\(ABC\|123\)/p'awk '/ABC/||/123
阅读全文
摘要:1表示标准输出,2表示标准错误输出 2>&1表示将标准错误输出重定向到标准输出,这样,程序或者命令的正常输出和错误输出就可以在标准输出输出(也就是一起输出)。 一般来讲标准输出和标准错误输出都是屏幕,那为什么还要这么用呢?原因是标准输出的重定向,例如:dir > out.txt 表示标准输出重定向到
阅读全文
摘要:一、删除包含匹配字符串的行## 删除包含baidu.com的所有行sed -i '/baidu.com/d' domain.file 二、删除匹配行及后所有行## 删除匹配20160229的行及后面所有行sed -i '/20160229/,$d' 充值人数.log 三、删除最后3行tac file
阅读全文
摘要:一、在匹配行前后加内容在包含www.baidu.com的行前面或后面添加多一行内容www.qq.com#匹配行前加sed -i '/www.baidu.com/i www.qq.com' domain.file#匹配行后加sed -i '/www.baidu.com/a www.qq.com' do
阅读全文
摘要:[ 条件1 -a 条件2 ] 当1和2都真时才为真[ 条件1 -o 条件2 ] 当1和2其中一个为真即为真[ ! 条件 ] 取反&& 与|| 或! 非符号[ -d name ] && echo "is dir" name为目录时为真,接着才出输入内容 有if---then的意思[ -d...
阅读全文
摘要:1.if 是单分支语句,使用格式如下:if condition ; thenstatement…..fi2.if … else 是双分支语句,使用格式如下:if condition ; thenstatement….elsestatement….fi3.if …elif…elif…else 是多分支...
阅读全文
摘要:一 、IFS的介绍Shell 脚本中有个变量叫IFS(Internal Field Seprator) ,内部域分隔符。完整定义是The shell uses the value stored in IFS, which is the space, tab, and newline characte...
阅读全文
摘要:假设我们定义了一个变量为:file=/dir1/dir2/dir3/my.file.txt可以用${ }分别替换得到不同的值:${file#*/}:删掉第一个/ 及其左边的字符串:dir1/dir2/dir3/my.file.txt${file##*/}:删掉最后一个/ 及其左边的字符串:my.fi...
阅读全文
摘要:expr命令是一个手工命令行计数器,用于在UNIX/LINUX下求表达式变量的值,一般用于整数值,也可用于字符串。–格式为:expr expression_r(命令读入Expression 参数,计算它的值,然后将结果写入到标准输出)–参数应用规则:用空格隔开每个项;用 \ (反斜杠) 放在 she...
阅读全文
摘要:test命令用法。功能:检查文件和比较值1)判断表达式if test (表达式为真)if test !表达式为假test 表达式1 –a 表达式2 两个表达式都为真test 表达式1 –o 表达式2 两个表达式有一个为真2)判断字符串test –n 字符串 字符串的长度非零test –z 字符串 字...
阅读全文
摘要:#!/bin/bashecho "please input number:"read na=`expr $n / 100`#a1=`expr $n - $a * 100`b=`echo "($n-$a*100)/10" | bc`c=`echo "($n-$a*100-$b*10)" | bc`d=...
阅读全文
摘要:请执行命令取出linux中eth0的IP地址(请用cut,有能力者也可分别用awk,sed命令答)。解答:说明:此题解答方法已经给大家讲解了不下15种,还可以有很多,在这里给大家着重讲下awk的技巧用法,希望大家能多重视老师的思路、思维过程,不过过分关注问题的答案,以便达到学一通十的效果。方法一【此...
阅读全文
摘要:比较两个字符串是否相等的办法是:if [ "$test"x = "test"x ]; then这里的关键有几点:1 使用单个等号2 注意到等号两边各有一个空格:这是unix shell的要求3 注意到"$test"x最后的x,这是特意安排的,因为当$test为空的时候,上面的表达式就变成了x = t...
阅读全文
摘要:grep默认不支持正则表达式,egrep默认支持正则表达式,egrep 等于 grep -E 命令。
阅读全文
摘要:一 相关知识1)默认地,标准的输入为键盘,但是也可以来自文件或管道(pipe |)。2)默认地,标准的输出为终端(terminal),但是也可以重定向到文件,管道或后引号(backquotes `)。3) 默认地,标准的错误输出到终端,但是也可以重定向到文件。4)标准的输入,输出和错误输出分别表示为...
阅读全文
浙公网安备 33010602011771号