免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

linux中sed和awk有哪些區(qū)別

這篇文章主要講解了“l(fā)inux中sed和awk有哪些區(qū)別”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“l(fā)inux中sed和awk有哪些區(qū)別”吧!

安岳ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!

區(qū)別:1、sed是流編輯器,而awk是文本格式化工具,報(bào)告生成器;2、awk適合對(duì)文件進(jìn)行抽取整理,sed適合對(duì)文件進(jìn)行編輯;3、sed讀取一行數(shù)據(jù),會(huì)以行作為單位進(jìn)行處理,而awk讀取一行,會(huì)切割成字段,以字段(列)為單位,進(jìn)行細(xì)節(jié)處理。

本教程操作環(huán)境:CentOS 6系統(tǒng)、Dell G3電腦。

awk

awk是一種程序語言,對(duì)文檔資料的處理具有很強(qiáng)的功能。awk擅長(zhǎng)從格式化報(bào)文或從一個(gè)大的文本文件中抽取數(shù)據(jù)。

awk 命令是逐行掃描文件(從第 1 行到最后一行),尋找含有目標(biāo)文本的行,如果匹配成功,則會(huì)在該行上執(zhí)行用戶想要的操作;反之,則不對(duì)行做任何處理。

awk 命令的基本格式為:

awk [選項(xiàng)] '腳本命令' 文件名

此命令常用的選項(xiàng)以及各自的含義,如表 1 所示。

      表 1 awk 命令選項(xiàng)以及含義
              選項(xiàng)              含義
              -F fs              指定以 fs 作為輸入行的分隔符,awk 命令默認(rèn)分隔符為空格或制表符。
              -f file              從腳本文件中讀取 awk 腳本指令,以取代直接在命令行中輸入指令。
              -v var=val              在執(zhí)行處理過程之前,設(shè)置一個(gè)變量 var,并給其設(shè)備初始值為 val。

awk 的強(qiáng)大之處在于腳本命令,它由 2 部分組成,分別為匹配規(guī)則和執(zhí)行命令,如下所示:

'匹配規(guī)則{執(zhí)行命令}'

這里的匹配規(guī)則,和 sed 命令中的 address 部分作用相同,用來指定腳本命令可以作用到文本內(nèi)容中的具體行,可以使用字符串(比如 /demo/,表示查看含有 demo 字符串的行)或者正則表達(dá)式指定。另外需要注意的是,整個(gè)腳本命令是用單引號(hào)('')括起,而其中的執(zhí)行命令部分需要用大括號(hào)({})括起來。

在 awk 程序執(zhí)行時(shí),如果沒有指定執(zhí)行命令,則默認(rèn)會(huì)把匹配的行輸出;如果不指定匹配規(guī)則,則默認(rèn)匹配文本中所有的行。

舉個(gè)簡(jiǎn)單的例子:

[root@localhost ~]# awk '/^$/ {print "Blank line"}' test.txt

在此命令中,/^$/ 是一個(gè)正則表達(dá)式,功能是匹配文本中的空白行,同時(shí)可以看到,執(zhí)行命令使用的是 print 命令,此命令經(jīng)常會(huì)使用,它的作用很簡(jiǎn)單,就是將指定的文本進(jìn)行輸出。因此,整個(gè)命令的功能是,如果 test.txt 有 N 個(gè)空白行,那么執(zhí)行此命令會(huì)輸出 N 個(gè) Blank line。

sed

sed 命令采用的是流編輯模式,最明顯的特點(diǎn)是,在 sed 處理數(shù)據(jù)之前,需要預(yù)先提供一組規(guī)則,sed 會(huì)按照此規(guī)則來編輯數(shù)據(jù)。

sed 會(huì)根據(jù)腳本命令來處理文本文件中的數(shù)據(jù),這些命令要么從命令行中輸入,要么存儲(chǔ)在一個(gè)文本文件中,此命令執(zhí)行數(shù)據(jù)的順序如下:

  • 每次僅讀取一行內(nèi)容;

  • 根據(jù)提供的規(guī)則命令匹配并修改數(shù)據(jù)。注意,sed 默認(rèn)不會(huì)直接修改源文件數(shù)據(jù),而是會(huì)將數(shù)據(jù)復(fù)制到緩沖區(qū)中,修改也僅限于緩沖區(qū)中的數(shù)據(jù);

  • 將執(zhí)行結(jié)果輸出。

當(dāng)一行數(shù)據(jù)匹配完成后,它會(huì)繼續(xù)讀取下一行數(shù)據(jù),并重復(fù)這個(gè)過程,直到將文件中所有數(shù)據(jù)處理完畢。

sed 命令的基本格式如下:

sed [選項(xiàng)] [腳本命令] 文件名

該命令常用的選項(xiàng)及含義,如表 1 所示。

      表 1 sed 命令常用選項(xiàng)及含義
              選項(xiàng)              含義
              -e 腳本命令              該選項(xiàng)會(huì)將其后跟的腳本命令添加到已有的命令中。
              -f 腳本命令文件              該選項(xiàng)會(huì)將其后文件中的腳本命令添加到已有的命令中。
              -n              默認(rèn)情況下,sed 會(huì)在所有的腳本指定執(zhí)行完畢后,會(huì)自動(dòng)輸出處理后的內(nèi)容,而該選項(xiàng)會(huì)屏蔽啟動(dòng)輸出,需使用 print 命令來完成輸出。
              -i              此選項(xiàng)會(huì)直接修改源文件,要慎用。

成功使用 sed 命令的關(guān)鍵在于掌握各式各樣的腳本命令及格式,它能幫你定制編輯文件的規(guī)則。

sed和awk的區(qū)別

  • sed是流編輯器,而awk是文本格式化工具,報(bào)告生成器

    如果文件是格式化的,即由分隔符分為多個(gè)域的,優(yōu)先使用awk

  • awk適合對(duì)文件的抽取整理,sed適合對(duì)文件的編輯。

  • awk適合按列(域)操作,sed適合按行操作

    sed:每次讀入一行來處理的,sed 適合簡(jiǎn)單的文本替換和搜索,sed讀取一行,以行作為單位,進(jìn)行處理。

    awk:每次讀入一行來處理的(同sed),但awk讀取一行,切割成字段,以字段(列)為單位,進(jìn)行細(xì)節(jié)處理。

感謝各位的閱讀,以上就是“l(fā)inux中sed和awk有哪些區(qū)別”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)linux中sed和awk有哪些區(qū)別這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

文章題目:linux中sed和awk有哪些區(qū)別
本文鏈接:http://m.newbst.com/article36/gcsisg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航做網(wǎng)站搜索引擎優(yōu)化電子商務(wù)手機(jī)網(wǎng)站建設(shè)外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名