本文目錄1、awk模式取反什么意思?2、linux中awk命令詳解?3、linux下有沒有對(duì)一列數(shù)字進(jìn)行求和的命令?4、awk是什么功能?5、awk可以捕獲并引用正則表達(dá)式的分組嗎?1、awk模式取反什么意思?取反運(yùn)算的功能是將一個(gè)數(shù)據(jù)中所有位都取其相反值,即1變0,0變1。2、linux中awk命令詳解?awk 是一種處理文本文件的語(yǔ)言,是一個(gè)強(qiáng)大的文本分析工具。之所以叫 AWK 是因?yàn)槠淙×巳?/p>
-
1、 awk模式取反什么意思? -
2、 linux中awk命令詳解? -
3、 linux下有沒有對(duì)一列數(shù)字進(jìn)行求和的命令? -
4、 awk是什么功能? -
5、 awk可以捕獲并引用正則表達(dá)式的分組嗎?
1、 awk模式取反什么意思?
取反運(yùn)算的功能是將一個(gè)數(shù)據(jù)中所有位都取其相反值,即1變0,0變1。
2、 linux中awk命令詳解?
awk 是一種處理文本文件的語(yǔ)言,是一個(gè)強(qiáng)大的文本分析工具。
之所以叫 AWK 是因?yàn)槠淙×巳粍?chuàng)始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首字符。
語(yǔ)法
awk [選項(xiàng)參數(shù)] ‘script’ var=value file(s)
或
awk [選項(xiàng)參數(shù)] -f scriptfile var=value file(s)
選項(xiàng)參數(shù)說明:
-F fs or –field-separator fs
指定輸入文件折分隔符,fs是一個(gè)字符串或者是一個(gè)正則表達(dá)式,如-F:。
-v var=value or –asign var=value
賦值一個(gè)用戶定義變量。
-f scripfile or –file scriptfile
從腳本文件中讀取awk命令。
-mf nnn and -mr nnn
對(duì)nnn值設(shè)置內(nèi)在限制,-mf選項(xiàng)限制分配給nnn的最大塊數(shù)目;-mr選項(xiàng)限制記錄的最大數(shù)目。這兩個(gè)功能是Bell實(shí)驗(yàn)室版awk的擴(kuò)展功能,在標(biāo)準(zhǔn)awk中不適用。
-W compact or –compat, -W traditional or –traditional
在兼容模式下運(yùn)行awk。所以gawk的行為和標(biāo)準(zhǔn)的awk完全一樣,所有的awk擴(kuò)展都被忽略。
-W copyleft or –copyleft, -W copyright or –copyright
打印簡(jiǎn)短的版權(quán)信息。
-W help or –help, -W usage or –usage
打印全部awk選項(xiàng)和每個(gè)選項(xiàng)的簡(jiǎn)短說明。
-W lint or –lint
打印不能向傳統(tǒng)unix平臺(tái)移植的結(jié)構(gòu)的警告。
-W lint-old or –lint-old
打印關(guān)于不能向傳統(tǒng)unix平臺(tái)移植的結(jié)構(gòu)的警告。
-W posix
打開兼容模式。但有以下限制,不識(shí)別:/x、函數(shù)關(guān)鍵字、func、換碼序列以及當(dāng)fs是一個(gè)空格時(shí),將新行作為一個(gè)域分隔符;**作符**和**=不能代替^和^=;fflush無效。
-W re-interval or –re-inerval
允許間隔正則表達(dá)式的使用,參考(grep中的Posix字符類),如括號(hào)表達(dá)式[[:alpha:]]。
-W source program-text or –source program-text
使用program-text作為源代碼,可與-f命令混用。
-W version or –version
打印bug報(bào)告信息的版本。
3、 linux下有沒有對(duì)一列數(shù)字進(jìn)行求和的命令?
對(duì)第一列數(shù)字求和: awk ‘{a+=$1}END{print a}’
對(duì)第二列數(shù)字求和:awk ‘{a+=$2}END{print a}’
通過管道送過去:echo XXX | awk
或者awk 讀取文件
4、 awk是什么功能?
awk是一個(gè)優(yōu)良的文本處理工具,Linux及Unix環(huán)境中現(xiàn)有的功能最強(qiáng)大的數(shù)據(jù)處理引擎之一。這種編程及數(shù)據(jù)**作語(yǔ)言(其名稱得自于它的創(chuàng)始人阿爾佛雷德·艾侯、彼得·溫伯格和布萊恩·柯林漢姓氏的首個(gè)字母)的最大功能取決于一個(gè)人所擁有的知識(shí)。awk經(jīng)過改進(jìn)生成的新的版本nawk,gawk,現(xiàn)在默認(rèn)linux系統(tǒng)下日常使用的是gawk,用命令可以查看正在應(yīng)用的awk的來源
5、 awk可以捕獲并引用正則表達(dá)式的分組嗎?
可以,在指令中使用內(nèi)置函數(shù) match 即可。
例如下邊的例子
#cat myexample.txt
123456789wonderful-p491666###
執(zhí)行 下面的 awk 命令,自定義的內(nèi)部變量 subarr 捕獲了完整匹配和子匹配的內(nèi)容,
#awk ‘{match($0,/^[0-9]*([a-z]+).*$/,subarr);print subarr[1];}’ myexample.txt
wonderful
subarr[0] 是整個(gè)正則表達(dá)式匹配到的內(nèi)容(整一行)
subarr[1]是第一個(gè)括號(hào)內(nèi)匹配的內(nèi)容,即第一個(gè)子匹配;
若正則表達(dá)式中有多對(duì)小括號(hào),則分別對(duì)subarr變量使用對(duì)應(yīng)的下標(biāo)來獲取子匹配;
subarr[2] ….. 第二個(gè)子匹配
subarr[3] ….. 第三個(gè)子匹配
……
依次類推
原創(chuàng)文章,作者:小編,如若轉(zhuǎn)載,請(qǐng)注明出處:http://m.xiesong.cn/1174.html