1. 程式人生 > >Linux20180502 六周第四次課(5月2日)

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

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日)