六周第四次课(5月2日)
复习 
扩展
打印某行到某行之间的内容Linux20180502 六周第四次课(5月2日)http://ask.apelearn.com/question/559 

sed转换大小写 Linux20180502 六周第四次课(5月2日)http://ask.apelearn.com/question/7758 

sed在某一行最后添加一个数字Linux20180502 六周第四次课(5月2日)http://ask.apelearn.com/question/288 

删除某行到最后一行 Linux20180502 六周第四次课(5月2日)http://ask.apelearn.com/question/213


打印1到100行含某个字符串的行 Linux20180502 六周第四次课(5月2日)http://ask.apelearn.com/question/1048 



打印文件中特定的某行到某行之间的内容

例如:有个文件test的内容如下:
ert
fff
**
[abcfd]
123
324
444
[rty]
**
fgfgf
怎么能截取
[abcfd]
123
324
444
[rty]
这一部分出来呢?


复习一下sed

sed '/匹配的内容/' 文件名

sed -rn '/(abcfd)/,/(rty)/'p test.txt 

sed -n '/\[abcfd\]/,/\[rty\]/p' test.txt

Linux20180502 六周第四次课(5月2日)



sed 如何转换大小写字母

sed中,使用\u表示大写,\l表示小写

1. 把每个单词的第一个小写字母变大写:
sed 's/\b[a-z]/\u&/g' filename


sed 's/\b[a-z]/\u&/g' test.txt
Linux20180502 六周第四次课(5月2日)



2. 把所有小写变大写:
sed 's/[a-z]/\u&/g' filename

sed 's/[a-z]/\u&/g' test.txt



Linux20180502 六周第四次课(5月2日)


3. 大写变小写:
sed 's/[A-Z]/\l&/g' filename


sed 's/[A-Z]/\l&/g' test.txt 

Linux20180502 六周第四次课(5月2日)


sed在文件中某一行最后添加一个数字

sed 's/\(^a.*\)/\1 12/' test.txt 在a开头的行后面添加12

Linux20180502 六周第四次课(5月2日)


sed删除某关键字的下一行到最后一行



如何使用sed打印1到100行包含某个字符串的行

sed -n '1,20{/44/p}' test.txt 

多少行就算没有达到也可以。

匹配44

Linux20180502 六周第四次课(5月2日)

转载于:https://blog.51cto.com/13691454/2110590

相关文章: