linux中awk和sed的區別:1、sed是一種非互動式且面向字元流的編輯器,awk是一門模式匹配的程式語言;2、sed常用於資料修改,awk常用於資料切片及資料格式化;3、sed一般對行進行操作,awk一般對列進行操作。
本教學操作環境:linux7.3系統、Dell G3電腦。
1、sed是一種非互動式且面向字元流的編輯器(a “non-interactive” stream-oriented editor)
awk則是一門模式匹配的程式語言,因為它的主要功能是用於匹配文字並處理,同時它有一些程式語言才有的語法,例如函數、分支循環語句、變數等等,當然比起我們常見的程式語言,Awk相對比較簡單
2、除了sed 一般對行進行操作,awk 對列進行操作
3、sed:擅長資料修改。 awk:擅長資料切片,資料格式化,功能最複雜。
sed(全名:Stream Editor),擅長對檔案做資料做修改的操作,非常有效率。這裡總結一些增刪改的基礎用法。
awk 更適合格式化文本,對文字進行較複雜格式處理,awk 程式會對輸入檔案的每一行進行操作。 awk 是一門解釋型的程式語言。文字處理、輸出格式化的文字報表、執行算數運算、執行字串操作等等。
擴展知識:
使用Awk,我們可以做以下事情:
1,將文字檔案視為由欄位和記錄組成的文字資料庫;
2,在操作文字資料庫的過程中能夠使用變數;
3,能夠使用數學運算和字串運算
4,能夠使用常見的程式結構,例如條件分支與循環;
5,能夠格式化輸出;
6,能夠自訂函數;
7,能夠在awk腳本中執行UNIX指令;
8,能夠處理UNIX指令的輸出結果;
sed的工作原理
#-1、當用sed指令對文字進行處理的時候,sed先讀取物件的文字檔案的第一行到模式空間。
2、當有內容進入「模式空間」時,sed的編輯指令會對模式空間中的內容進行編輯操作(修改,替換,刪除,追加,顯示等等)
3.模式空間中的內容編輯處理完成之後,sed把此內容透過標準輸出(預設為顯示器)列印出來,並刪除模式空間中的內容。
4、第一行處理結束。從新讀取第二行的內容進行處理,直到最後一行。
推薦學習:Linux影片教學
#以上是linux中awk和sed有什麼差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!