第一行前插入aaa:sed -i ‘1 i\aaa’ file.txt
最后一行插入aaa:sed -i ‘$ a\aaa’ file.txt
指定行后插入aaa:sed -i ‘2a\aaa’ file.txt
匹配行前/后插入aaa:sed -i ‘/bbb/ i(a)\aaa’ file.txt
bbb字符后面插入aaa:sed -i ‘/bbb/ &aaa/g’ file.txt
显示第一二行:sed
显示指定行:sed -n ‘/aaa/p’ file.txt
显示指定范围匹配行:sed -n ‘5,10{/aaa/p}’ file.txt
删除第一二行:sed ‘1,2 d’ file.txt
删除指定行:sed ‘/aaa/d’ file.txt
指定范围替换字符:sed ‘1,4 s/aaa/bbb/g’ file.txt
指定范围全部替换:sed ‘1,4c bbb’ file.txt
包含weibo的行中aaa替换bbb:sed ‘/weibo/s/aaa/bbb/g’ file.txt
追加一个文件到指定行后:sed
将匹配行写入一个文件:sed ‘/aaa/w file2.txt’ file.txt
删除空行:sed '/^$/d' file.txt
删除第一个字符:sed 's/^.//g' file.txt
打印匹配的下一行:sed -n '/aaa/{n;p}'
替换匹配行的下一行:把aaa行的下一行替换为bbb
sed -e "N;/aaa/s/\n.*/\nbbb/" file.txt
修改匹配的第N个内容:把第五个aaa替换为bbb
sed -i "/aaa/{x;s/^/./;/^\.\{5\}$/{x;s/.*/bbb/;x};x;}" file.txt
二、sed在shell中引用变量
将单引号换成双引号:
sed -i "s/aaa/$num/g" file.txt
如果是通过脚本远程sed操作,还需要转移分号:
sed -i \"s/aaa/$num/g\" file.txt
变量用单引号引起来:
sed -i 's/aaa/'$num'/g' file.txt
变量用'''引起来:
sed -i 's/aaa/'''$num'''/g' file.txt
引用外部变量:
sed -i 's/aaa/'`echo $HOSTNAME`'/g' file.txt
sed -i 's/aaa/'$(echo $HOSTNAME)'/g' file.txt
如果使用双引号,则上面可以写成:
sed -i "s/aaa/`echo $HOSTNAME`/g" file.txt
sed -i "s/aaa/$(echo $HOSTNAME)/g" file.txt
三、每行行尾添加字符串
在行尾添加aaa字符串:
sed 's/$/ aaa/' file.txt
sed 's/\(.*\)/& aaa/' file.txt
sed 's/\(.*\)/\1 aaa/g' file.txt
awk的实现方法:
awk '/$/ {print $0,"aaa"}' file.txt
awk '{print $0,"aaa"}' file.txt
四、删除单引号
sed 's/\x27//g' file.txt
利用双引号:
sed -i "s/'//g" file.txt
五、取网卡IP
ifconfig eth0 | grep inet |sed 's/^.*addr://g' | sed 's/Bcast.*$//g'
ifconfig eth0 |sed -n 2p|awk
ifconfig eth0 |sed -n 2p|awk
ifconfig eth0 |sed -ne 's/\(.*\)addr:\([[:digit:].]*\)\(.*\)/\2/p'
ifconfig eth0 | sed -n '2p' | awk '{print substr($2,6)}'
awk '{print substr($2,6)}' 表示取第二项内容的第6个字符开始的字符串,即IP地址字符串开始的那部分。
awk及其他命令获取IP:
ifconfig eth0|grep "inet addr:"|awk '{print $2}'|awk -F : '{print $2}'
ifconfig eth0|awk '/inet addr/ {print $2}' | awk -F: '{print $2}'
ifconfig eth0|awk '/inet addr/ {print $2}' | cut -f2 -d ":"
获取所有网卡IP:
ifconfig | awk '{if ( $1 == "inet" && $3 ~ /^Bcast/) print $2}' | cut -f2 -d ":"