sed 的基礎應用與掌握

趕緊試試吧看是看不會的

sed:可以將數據進行替換,刪除,新增,選取特定行等,(過濾和取行)
-n 安靜模式即,加上-n后,只有經過特殊處理的這行被輸出到屏幕上
– i 直接修改文件內容而不是只是輸出到終端。
-f直接將sed的動作寫在一個文件內,
-r支持擴展正則表達式輸出
sed 常用內置命令字符
a append(表示在指定行后添加文一或多行)
d delete (刪除指定行)
i insert (指定行前插入一行或多行)
p print (表示匹配打印行的內容)
c copy ()
sed 命令太強大,光看看不會的。直接來練習:
1.如在fsed文件中?
[root@centos7 old]#sed ‘2a yesyesyes’ fsed (表示在第二行后增加yesyesyes行)
alfjsajfla
slfjskl
yesyesyes
urwer09we
2.那如果是增加3行呢?
[root@centos7 old]#sed ‘2a ddd\nbbb\ndddn’ fsed
alfjsajfla
slfjskl
ddd
bbb
dddn (切記:\n換行符)
同理d,i,p,c的用法和a 一樣
3.如刪除文件2到最后一行?
[root@centos7 old]#sed ‘3,$d’ fsed
alfjsajfla
slfjskl ($就是表示最后一行)
4.把所有a替換成W?
[root@centos7 old]#sed ‘s#a#W#g’ fsed
WlfjsWjflW
slfjskl
urwer09we
也可以把第三行替換成BBBB?
[root@centos7 old]#sed ‘3c BBBB’ fsed
alfjsajfla
slfjskl
BBBB
473298473
5.
[root@centos7 old]#echo>fsed (清空文件內容)
[root@centos7 old]#sed -i ‘aaa\nddd\nccc\nuuu\nmmm\n6666\n888\n999’ fsed|nl (nl是加上行號)
?
1 aa
2 ddd
3 ccc
4 uuu
5 mmm
6 6666
7 888
8 999
好,現在我想讓奇數行和偶數行全部合并?
[root@centos7 old]#sed ‘N;s#\n##g’ fsed (N,sed強大的內置命令, 碰到N,會執行”$###g”循環執行把換行符換成空直到文件結束)
aa
dddccc
uuummm
6666888
999
6.-n的應用,僅列出文件中的第2到4行?
[root@centos7 old]#sed -n ‘2,4p’ fsed
aa
ddd
ccc
如果再加上-i, 那相當于直接把2到4行外的所有行刪除了?即只留下2到4行
[root@centos7 old]#sed -i -n ‘2,4p’ fsed
[root@centos7 old]#cat fsed
aa
aa
ddd

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/96573

(0)
單爆手單爆手
上一篇 2018-04-19
下一篇 2018-04-20

相關推薦

欧美性久久久久