首先,使用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` 
         
 
         注意,此命令會直接修改原文件。
