AIX系統下sed的用法與實例——查詢/打印/替換字符串並生成文件/刪除


首先,使用sed命令請記住:sed命令以行為單位對文本進行處理,處理完當前行,接着下一行文本輸入進行處理,依次循環。

其次,使用sed命令請記住:sed命令不會對原文件進行操作,它是對原文件的拷貝文件進行操作。

打印指定行

1)打印首行

sed -n ‘1p’  test.txt

##如果想把結果輸出到文件,則這樣:sed -n ‘1p’  test.txt  > result.txt,以下同理。

2)打印最后一行

sed -n ‘$p’  test.txt        #$代表最后一行

3)打印第一行到第五行

sed -n ‘1,5p’  test.txt

打印滿足條件的篩選行

1)打印存在“hello”這個單詞的行

sed -n ‘/hello/p’ test.txt

2)打印滿足正則表達式:出現以ing結尾單詞的行

sed -n ‘/.*ing/p’  test.txt

替換字符串並重新生成文件

1)將文本中存在的單詞“hello”替換成“world”

sed  ‘s/hello/world/g’ test.txt

##注意,aix系統中sed命令不支持-i參數,直接使用上面的命令就可以進行替換,如果要輸出生成新文件,則sed  ‘s/hello/world/g’ test.txt  > newfile.txt就可以了。
如果不想用sed命令,其他命令也是可以實現的,比如:perl  -p -i -e  “s/hello/world/g”  test.txt,同樣也可以實現字符串的替換,不過perl命令會直接修改原文件,請謹記。
2)如果要批量替換路徑下所有文件

sed “s/查找字段/替換字段/g” `grep 查找字段 -rl 路徑`

例如:替換/home下所有文件中的字符串“hello”為“world”

sed  “s/hello/world/g”  `grep hello -rl /home`

注意,此命令會直接修改原文件。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM