sed扩展
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sed扩展相关的知识,希望对你有一定的参考价值。
sed扩展- 打印文件中特定的某行到某行之间的内容,//,//两行之间。
[[email protected] sed]# sed -n ‘/\[abcfd\]/,/\[rty\]/p‘ 1.txt [abcfd] 123 324 444 [rty]
- sed的大小写转换
- 把每个单词的第一个小写字母变大写,\b是边界符开头第一个,\u是将下一个字符变大写
[[email protected] sed]# sed ‘s/\b[a-z]/\u&/g‘ 1.txt Ert Fff ** [Abcfd] 123 324 444 [Rty] ** Fgfgf
- 把所有小写变大写
[[email protected] sed]# sed ‘s/[a-z]/\u&/g‘ 1.txt ERT FFF ** [ABCFD] 123 324 444 [RTY] ** FGFGF
- 大写变小写
[[email protected] sed]# sed ‘s/[A-Z]/\l&/g‘ 1.txt ddd fff ** [fffcfd] 123 324 444 [rty] ** fgfgf
- 把每个单词的第一个小写字母变大写,\b是边界符开头第一个,\u是将下一个字符变大写
- sed在文件中某一行最后添加一个数字
[[email protected] sed]# sed -r ‘s/(^f.*)/& 12/g‘ 1.txt fDDDdada 12 fFFdada 12 ** [FFFcfd] 1dadajk23 324dada 444iuiquei [rty] ** fgfgf 12
- sed删除某关键字的下一行到最后一行
[[email protected] sed]# sed ‘/r/{p;:a;N;$!ba;d}‘ 1.txt fDDDdada fFFdada ** [FFFcfd] 1dadajk23 324dada 444iuiquei [rty]
定义一个标签a,匹配c,然后N把下一行加到模式空间里,匹配最后一行时,才退出标签循环,然后命令d,把这个模式空间里的内容全部清除。 if 匹配"c" :a 追加下一行 if 不匹配"$" goto a 最后退出循环,d命令删除。
- 如何使用sed打印1到100行包含某个字符串的行
[[email protected] sed]# sed -n ‘1,100{/da/p}‘ 1.txt fDDDdada fFFdada 1dadajk23 324dada
以上是关于sed扩展的主要内容,如果未能解决你的问题,请参考以下文章