码迷,mamicode.com
首页 > 系统相关 > 详细

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

时间:2018-05-02 11:26:52      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:sed 练习

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

sed转换大小写 技术分享图片http://ask.apelearn.com/question/7758 

sed在某一行最后添加一个数字技术分享图片http://ask.apelearn.com/question/288 

删除某行到最后一行 技术分享图片http://ask.apelearn.com/question/213


打印1到100行含某个字符串的行 技术分享图片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

技术分享图片



sed 如何转换大小写字母

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

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


sed 's/\b[a-z]/\u&/g' test.txt
技术分享图片



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

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



技术分享图片


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


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

技术分享图片


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

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

技术分享图片


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



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

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

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

匹配44

技术分享图片

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

标签:sed 练习

原文地址:http://blog.51cto.com/13691454/2110590

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!