linux文本分析工具awk解读
生活随笔
收集整理的這篇文章主要介紹了
linux文本分析工具awk解读
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
? ? ? ? awk是一個(gè)強(qiáng)大的文本分析工具,相對(duì)于grep的查找、sed的編輯,awk在其對(duì)數(shù)據(jù)分析并生成報(bào)告時(shí),顯得尤為強(qiáng)大。awk把文件逐行的讀入,以空格為默認(rèn)分隔符將每行切片,切開(kāi)的部分再進(jìn)行各種分析處理。顯然awk適用于文件中的每行都被特定的分隔符隔開(kāi),文件是一個(gè)行列矩陣。
語(yǔ)法
awk [選項(xiàng)參數(shù)] 'script' var=value file(s) 或 awk [選項(xiàng)參數(shù)] -f scriptfile var=value file(s)選項(xiàng)參數(shù)說(shuō)明:
?awk --help 用法: awk [POSIX 或 GNU 風(fēng)格選項(xiàng)] -f 腳本文件 [--] 文件 ... 用法: awk [POSIX 或 GNU 風(fēng)格選項(xiàng)] [--] '程序' 文件 ... POSIX 選項(xiàng): ? ? ? ? ? ? ? ? ? ? GNU 長(zhǎng)選項(xiàng):-f 腳本文件 ? ? ? ? ? ? --file=腳本文件-F fs ? ? ? ? ? ? ? ? ? --field-separator=fs-v var=val ? ? ? ? ? ? ?--assign=var=val-m[fr] val-O ? ? ? ? ? ? ? ? ? ? ?--optimize-W compat ? ? ? ? ? ? ? --compat-W copyleft ? ? ? ? ? ? --copyleft-W copyright ? ? ? ? ? ?--copyright-W dump-variables[=file] ? ? ? ?--dump-variables[=file]-W exec=file ? ? ? ? ? ?--exec=file-W gen-po ? ? ? ? ? ? ? --gen-po-W help ? ? ? ? ? ? ? ? --help-W lint[=fatal] ? ? ? ? --lint[=fatal]-W lint-old ? ? ? ? ? ? --lint-old-W non-decimal-data ? ? --non-decimal-data-W profile[=file] ? ? ? --profile[=file]-W posix ? ? ? ? ? ? ? ?--posix-W re-interval ? ? ? ? ?--re-interval-W source=program-text ?--source=program-text-W traditional ? ? ? ? ?--traditional-W usage ? ? ? ? ? ? ? ?--usage-W use-lc-numeric ? ? ? --use-lc-numeric-W version ? ? ? ? ? ? ?--version運(yùn)算符
| = += -= *= /= %= ^= **= | 賦值 |
| ?: | C條件表達(dá)式 |
| || | 邏輯或 |
| && | 邏輯與 |
| ~ ~! | 匹配正則表達(dá)式和不匹配正則表達(dá)式 |
| < <= > >= != == | 關(guān)系運(yùn)算符 |
| 空格 | 連接 |
| + - | 加,減 |
| * / % | 乘,除與求余 |
| + - ! | 一元加,減和邏輯非 |
| ^ *** | 求冪 |
| ++ -- | 增加或減少,作為前綴或后綴 |
| $ | 字段引用 |
| in | 數(shù)組成員 |
官網(wǎng)參考:https://www.gnu.org/software/gawk/manual/gawk.html
參考:http://www.cnblogs.com/wangqiguo/p/5863266.html
? ? ? ? ? ?http://www.runoob.com/linux/linux-comm-awk.html
基本用法練習(xí):
1)輸出第一列和第四列:
awk '{print $1,$4}' train_features_p.txt2)過(guò)濾第一列大于2且第二列等于3:
awk '$1>2 && $2=="3" {print $1,$2,$3}' train_features_p.txt更多強(qiáng)大的內(nèi)置函數(shù)和變量,有需要可以通過(guò)參考加以應(yīng)用,可以作為大數(shù)據(jù)平臺(tái)輔助的數(shù)據(jù)處理。
如果要實(shí)現(xiàn)從文檔中提取滿足條件的行數(shù),可以如下:
cat all.txt|awk '{if(($1>0.5)) {print $1}}' > 1.txt這個(gè)命令就把a(bǔ)ll.txt中第一列大于0.5的記錄輸出1.txt中再通過(guò)wc -l 1.txt就可以得到有多少行。
總結(jié)
以上是生活随笔為你收集整理的linux文本分析工具awk解读的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: eclipse卸载插件小记
- 下一篇: linux命令wc解读