- 替换:sed -i ‘s/A/B/g’ /路径/文件名 #把该文件中的A替换成B
sed -i 's/cmccdata/publicuser/g' /home/publicuser/cdn/business/bin/merge_dispatch_min.sh
sed -i 's/\.$/\!/g' regular_express.txt #将每一行结尾的.替换成!
sed '2,5c No 2-5 number' #将第2-5行内容替换成No 2-5 number
- 增加:
sed -e 4a\newLine testfile #在testfile文件第4行后面增加'newLine'
sed '2a newLine' #在第2行后面增加newLine
sed '2i newLine' #在第2行前面增加xx
sed '2a aaa\bbb' #在第2行插入aaa第3行插入bbb
- 删除:
sed '2,5d' #删除第2-5行
sed '2d' #删除第2行
sed '3,$d' #删除第3行到最后一行
sed '/root/d' #删除所有包含root的行
如:inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
/sbin/ifconfig eth0 | grep 'inet addr' | sed 's/^.*addr://g' #删除inet addr该行的’addr:’删除
/sbin/ifconfig eth0 | grep 'inet addr' | sed 's/Bcast.*$//g' #将Bcast及后面的部分删除
- 查找:
sed '/root/p' #搜索有关键字‘root’的行
sed -n '/root/{s/bash/blueshell/;p;q}' #找到root对应的行,把bash替换成blueshell
nl /etc/passwd | sed -n '5,7p' #仅列出5-7行(NL列出该文件的内容及序列号)
- 多点编辑:
nl /etc/passwd | sed -e '3,$d' -e 's/bash/blueshell/' #删除第3行到末尾的数据,并将bash替换成blueshell