标签:style 大小写 ros bin 区分大小写 mkdir 一段 大小 sed -e
9.4 sed(上)1. 创建目录
[root@hao-01 ~]#mkdir sed
2. 进入目录
[root@hao-01 ~]#cd sed
3. 拷贝文件到当前目录并重命名
[root@hao-01 sed]#cp /etc/passwd test.txt
匹配指定行:
1. 匹配 含有关键词(root)行:sed -n '/关键词/'p 文件名
[root@hao-01 sed]#sed -n '/root/'p test.txt
2. [root@hao-01 sed]#sed -n '/r.t/'p test.txt
3. [root@hao-01 sed]#sed -n '/r*t/'p test.txt
4. [root@hao-01 sed]#sed -nr '/o+t/'p test.txt
5. 匹配 含有多次关键词: sed -nr '/匹配关键词{匹配次数}/'p 文件名
[root@hao-01 sed]#sed -nr '/o{2}/'p test.txt
6. 匹配 关键词1或者匹配关键词2或者匹配关键词3
sed -nr '/匹配关键词|匹配关键词|匹配关键词/'p 文件名
[root@hao-01 sed]#sed -nr '/root|hao|sbin/'p test.txt
打印指定行:
7. 打印指定行2: sed -nr '指定行'p 文件名
[root@hao-01 sed]#sed -nr '2'p test.txt
8. 打印指定范围行: sed -nr '指定范围行'p 文件名
[root@hao-01 sed]#sed -nr '2,5'p test.txt
9. 打印指定行到末行($):sed -nr '指定行,$'p 文件名
[root@hao-01 sed]#sed -nr '2,$'p test.txt
10. 打印全部行: sed -nr '1,$'p 文件名
[root@hao-01 sed]#sed -nr '1,$'p test.txt
11. 打印指定行,再匹配出含有关键词行,再匹配出含有关键词行
sed -e '指定行'p -e '/匹配关键词/'p -e '/匹配关键词/'p -n test.txt
[root@hao-01 sed]#sed -e '1'p -e '/111/'p -e '/hao/'p -n test.txt
9.5 sed(下)
1. 匹配 含有关键词(root)行,但不区分大小写:
sed -n '/关键词/'Ip 文件名
[root@hao-01 sed]#sed -n '/root/'Ip test.txt
2. 删除打印的范围行,显示剩余行(生效在屏幕):
sed '行范围'd test.txt
[root@hao-01 sed]#sed '1,10'd test.txt
3. 删除文件中的范围行(生效在文件):
sed -i '行范围'd test.txt
[root@hao-01 sed]#sed -i '1,10'd test.txt
查看文件行数:wc -l 文件名
4. 删除文件中含有关键词的行(生效在文件):
sed -i '/关键词/'d 文件名
[root@hao-01 sed]#sed -i '/hao/'d test.txt
5. 查找指定行,并全局替换 打印到屏幕:
sed '指定行范围s/关键词/替换关键词/g' test.txt
[root@hao-01 sed]#sed '1,10s/root/toor/g' test.txt
6. 查找指定行,并用正则表达式+号进行了全局替换 后面可以用管道符:
[root@hao-01 sed]#sed -r '1,10s/ro+/r/g' test.txt |head
7. 把前面命令的输出结果,用sed 查找以冒号分割的段,每行第一段和最后一段相互替换
[root@hao-01 sed]#head test.txt |sed -r 's/([^:]+):(.*):([^:]+)/\3:\2:1/'
8. 查找替换:关键词含有/这个分隔符,
分隔符可以用@或#替换,如果要替换的关键词包含斜杠就用@代替斜杠即可
[root@hao-01 sed]#head test.txt |sed 's@/hao/hao@root@g'
9. 替换 字母范围为空:
head 文件名 |sed 's/[小写大写字母替换掉的范围]//g'
[root@hao-01 sed]#head test.txt |sed 's/[a-zA-Z]//g'
10. 所有行行首,添加固定的字符串:
head 文件名 |sed -r 's/(.*)/添加的字符串:&/'
[root@hao-01 sed]#head test.txt |sed -r 's/(.*)/hhh:&/'
标签:style 大小写 ros bin 区分大小写 mkdir 一段 大小 sed -e
原文地址:http://blog.51cto.com/zhuneianxiang/2061641