Sed是一项Linux指令,功能同awk类似,差别在于,sed简单,对列处理的功能要差一些,awk的功能复杂,对列处理的功能比较强大。
Sed全称是:Stream EDitor
今天分享的内容是:
Sed日常工作中常用命令的详解,可以帮助解决日常工作需求。
sed '2d' text.txt
sed -n '5,/^w1/p'
sed -n '/test/,/cat/p' text.txt
第一条命令-e删除1至5行
第二条命令-e用w1替换w2
sed -e '1,5d' -e 's/w1/w2/' text.txt
sed -n '/2016-03-01 10:00/,/2016-03-01 12:15:/p' /mnt/resource/catalina.out > /tmp/catalina.out.20160301
-i 表示inplace edit,就地修改文件
-r 表示搜索子目录
-l 表示输出匹配的文件名
grep -rl 172.16.100.33 /opt/tomcat/webapps/ROOT/WEB-INF/classes/sysconfigs/zk.properties | xargs sed -i s/172.16.100.33/172.16.100.59/g
sed 's?原字符串?替换字符串?'
[root@test-test-mysql-01 scripts]# cat text.txt
w1 w1 w1 w1 w1 w1
test my car w1
w1 w1 w1
w1
[root@test-test-mysql-01 scripts]# sed 's/^/添加的头部&/g' text.txt
添加的头部w1 w1 w1 w1 w1 w1
添加的头部test my car w1
添加的头部w1 w1 w1
添加的头部w1
[root@test-test-mysql-01 scripts]# sed 's/$/&添加的尾部/g' text.txt
w1 w1 w1 w1 w1 w1添加的尾部
test my car w1添加的尾部
w1 w1 w1添加的尾部
w1添加的尾部
sed '2s/原字符串/替换字符串/g'
sed '$s/原字符串/替换字符串/g'
sed '2,5s/原字符串/替换字符串/g'
sed '2,$s/原字符串/替换字符串/g'
sed -n 's/^w1/w2/p' text.txt
[root@test-test-mysql-01 scripts]# sed -e '/car/s/w1/&w2/g' text.txt
w1 w1 w1 w1 w1 w1
test my car w1w2
w1 w1 w1
w1
[root@test-test-mysql-01 scripts]# sed -e 's/w1/&w2/1' text.txt
w1w2 w1 w1 w1 w1 w1
test my car w1w2
w1w2 w1 w1
w1w2