生活随笔
收集整理的這篇文章主要介紹了
sed扩展
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
打印某行到某行之間的內容 http://ask.apelearn.com/question/559例如:有個文件test的內容如下:
ert
fff
**
[abcfd]
123
324
444
[rty]
**
fgfgf
怎么能截取[abcfd]
123
324444
[rty]這一部分出來呢?
[root@linux-128 test]# sed -n '/\[abcfd\]/,/\[rty\]/'p 1.txt
[abcfd]
123
324
444
[rty]
- 這里要注意:先匹配[abcfd]的時候,要先將[]脫意,加-r 脫意不行的,要用\脫意;
[root@linux-128 test]# sed -n '/\[abcfd\]/'p 1.txt
[abcfd
sed轉換大小寫 http://ask.apelearn.com/question/7758
把每個單詞的第一個小寫字母變大寫:[root@linux-128 test]# sed 's/\b[a-z]/\u&/g' 1.txt
Ert
Fff
**
[Abcfd]
123
324
444
[Rty]
**
Fgfgf
- 注意:\b:表示\b就近匹配,比如\bAB 匹配A,AB\b 匹配B;\b只能匹配字母、數字、漢字、下劃線。&表示前面匹配的內容
把所有小寫變大寫:[root@linux-128 test]# sed 's/[a-z]/\u&/g' 1.txt
ERT
FFF
**
[ABCFD]
123
324
444
[RTY]
**
FGFGF
大寫變小寫:
[root@linux-128 test]# cat 2.txt
ERT
FFF
**
[ABCFD]
123
324
444
[RTY]
**
FGFGF[root@linux-128 test]# sed 's/[A-Z]/\l&/'g 2.txt
ert
fff
**
[abcfd]
123
324
444
[rty]
**
fgfgf
sed在某一行最后添加一個數字http://ask.apelearn.com/question/288 [root@linux-128 test]# cat 3.txtaskdjaslkd aslkdjf3eskdjfsdfjsdkfjkfsdkfjksdjfkjsdf
12sdfesdfaslkdjfkasdjf asdlfkjaskdfj
在所以行后面加上數字123[root@linux-128 test]# sed -r 's/(.*)/&123/'g 3.txt
askdj123
aslkd aslkdjf3e123
skdjfsdfj123
sdkfjk123
fsdkfjksdjfkjsdf123
12sdfesdf123
aslkdjfkasdjf asdlfkjaskdfj123
在以a開頭的行后面加上數字123[root@linux-128 test]# sed -r 's/(^a.*)/&123/'g 3.txt
askdj123
aslkd aslkdjf3e123
skdjfsdfj
sdkfjk
fsdkfjksdjfkjsdf
12sdfesdf
aslkdjfkasdjf asdlfkjaskdfj123
用\1來表示前面()內容[root@linux-128 test]# sed -r 's/(^a.*)/\1123/'g 3.txt
askdj123
aslkd aslkdjf3e123
skdjfsdfj
sdkfjk
fsdkfjksdjfkjsdf
12sdfesdf
aslkdjfkasdjf asdlfkjaskdfj123
刪除某行到最后一行 http://ask.apelearn.com/question/213[root@linux-128 test]# cat 3.txt
askdj
aslkd aslkdjf3e
skdjfsdfj
sdkfjk
fsdkfjksdjfkjsdf
12sdfesdf
aslkdjfkasdjf asdlfkjaskdfj
刪除sdkfjk到最后一行[root@linux-128 test]# sed '/sdkfjk/,$'d 3.txt
askdj
aslkd aslkdjf3e
skdjfsdfj
刪除指定行的下一行到最后一行[root@linux-128 test]# cat 2.txt
ERT
FFF
**
[ABCFD]
123
324
444
[RTY]
**
FGFGF[root@linux-128 test]# sed '/123/{p;:a;N;$!ba;d}' 2.txt
ERT
FFF
**
[ABCFD]
123
打印1到100行含某個字符串的行 http://ask.apelearn.com/question/1048[root@linux-128 test]# cat 2.txt
ERT
FFF
**
[ABCFD]
123
324
444
[RTY]
**
FGFGF
方法一:
[root@linux-128 test]# sed -n '1,10{/123/p}' 2.txt
123
方法二:
[root@linux-128 test]# sed -n '1,10'p 2.txt |sed -n '/123/'p
123
轉載于:https://my.oschina.net/u/3706916/blog/1578033
總結
以上是生活随笔為你收集整理的sed扩展的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。