共計 1120 個字符,預(yù)計需要花費 3 分鐘才能閱讀完成。
這篇文章主要講解了“l(fā)inux 中 awk 和 sed 有哪些區(qū)別”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學(xué)習(xí)“l(fā)inux 中 awk 和 sed 有哪些區(qū)別”吧!
linux 中 awk 和 sed 的區(qū)別:1、sed 是一種非交互式且面向字符流的編輯器,awk 是一門模式匹配的編程語言;2、sed 常用于數(shù)據(jù)修改,awk 常用于數(shù)據(jù)切片和數(shù)據(jù)格式化;3、sed 一般對行進行操作,awk 一般對列進行操作。
本教程操作環(huán)境:linux7.3 系統(tǒng)、Dell G3 電腦。
linux 中 awk 和 sed 有什么區(qū)別
1、sed 是一種非交互式且面向字符流的編輯器(a“non-interactive”stream-oriented editor)
awk 則是一門模式匹配的編程語言,因為它的主要功能是用于匹配文本并處理,同時它有一些編程語言才有的語法,例如函數(shù)、分支循環(huán)語句、變量 等等,當(dāng)然比起我們常見的編程語言,Awk 相對比較簡單
2、除了 sed 一般對行進行操作,awk 對列進行操作
3、sed:擅長數(shù)據(jù)修改。awk:擅長數(shù)據(jù)切片,數(shù)據(jù)格式化,功能最復(fù)雜。
sed(全稱:Stream Editor),擅長對文件做數(shù)據(jù)做修改的操作,非常高效。這里總結(jié)一些增刪改的基礎(chǔ)用法。
awk 更適合格式化文本,對文本進行較復(fù)雜格式處理,awk 程序?qū)斎胛募拿恳恍羞M行操作。awk 是一門解釋型的編程語言。文本處理、輸出格式化的文本報表、執(zhí)行算數(shù)運算、執(zhí)行字符串操作等等。
擴展知識:
使用 Awk,我們可以做以下事情:
1,將文本文件視為由字段和記錄組成的文本數(shù)據(jù)庫;
2,在操作文本數(shù)據(jù)庫的過程中能夠使用變量;
3,能夠使用數(shù)學(xué)運算和字符串操作
4,能夠使用常見的編程結(jié)構(gòu),例如條件分支與循環(huán);
5,能夠格式化輸出;
6,能夠自定義函數(shù);
7,能夠在 awk 腳本中執(zhí)行 UNIX 命令;
8,能夠處理 UNIX 命令的輸出結(jié)果;
sed 的工作原理
-1、當(dāng)用 sed 命令對文本進行處理的時候,sed 先讀取對象的文本文件的第一行到模式空間中。
2、當(dāng)有內(nèi)容進入“模式空間”時,sed 的編輯命令對模式空間中的內(nèi)容進行編輯操作(修改,替換,刪除,追加,顯示等等)
3、模式空間中的內(nèi)容編輯處理完成之后,sed 把此內(nèi)容通過標(biāo)準(zhǔn)輸出(默認(rèn)為顯示器)打印出來,并刪除模式空間中的內(nèi)容。
4、第一行處理結(jié)束。從新讀取第二行的內(nèi)容進行處理,直到最后一行。
感謝各位的閱讀,以上就是“l(fā)inux 中 awk 和 sed 有哪些區(qū)別”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對 linux 中 awk 和 sed 有哪些區(qū)別這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!