linux中awk和sed有什么區(qū)別
Linux中awk和sed的區(qū)別:1、sed是一種非交互式且面向字符流的編輯器,awk是一門模式匹配的編程語言;2、sed常用于數(shù)據(jù)修改,awk常用于數(shù)據(jù)切片和數(shù)據(jù)格式化;3、sed一般對行進行操作,awk一般對列進行操作。
程序員必備接口測試調(diào)試工具:立即使用
Apipost = Postman + Swagger + Mock + Jmeter
Api設(shè)計、調(diào)試、文檔、自動化測試工具
后端、前端、測試,同時在線協(xié)作,內(nèi)容實時同步
本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。
linux中awk和sed有什么區(qū)別
1、sed是一種非交互式且面向字符流的編輯器(a “non-interactive” stream-oriented editor)
awk則是一門模式匹配的編程語言,因為它的主要功能是用于匹配文本并處理,同時它有一些編程語言才有的語法,例如函數(shù)、分支循環(huán)語句、變量 等等,當然比起我們常見的編程語言,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、當用sed命令對文本進行處理的時候,sed先讀取對象的文本文件的第一行到模式空間中。
2、當有內(nèi)容進入“模式空間”時,sed的編輯命令對模式空間中的內(nèi)容進行編輯操作(修改,替換,刪除,追加,顯示等等)
3、模式空間中的內(nèi)容編輯處理完成之后,sed把此內(nèi)容通過標準輸出(默認為顯示器)打印出來,并刪除模式空間中的內(nèi)容。
4、第一行處理結(jié)束。從新讀取第二行的內(nèi)容進行處理,直到最后一行。
推薦學(xué)習(xí):Linux視頻教程
以上就是linux中awk和sed有什么區(qū)別的詳細內(nèi)容,更多請關(guān)注其它相關(guān)文章!
版權(quán)聲明:
本站所有文章和圖片均來自用戶分享和網(wǎng)絡(luò)收集,文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請勿用于商業(yè)用途,如果損害了您的權(quán)利,請聯(lián)系網(wǎng)站客服處理。