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