免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
10個(gè)超級(jí)棒的Awk命令
Awk命令是處理數(shù)據(jù)的強(qiáng)大工具。它獲取輸入數(shù)據(jù),對其進(jìn)行操作,并在標(biāo)準(zhǔn)輸出中給出結(jié)果。可以對文件的行和列執(zhí)行各種操作。
要有效地處理數(shù)據(jù),了解“awk”命令的基本要素是非常重要的,這篇文章將涵蓋“awk”命令的關(guān)鍵特性。讓我們先看看語法:
$ awk [options] [file]
下表列出了一些常用的選項(xiàng):
選項(xiàng)說明
-FTo specify a file separator
-f指定包含“awk”腳本的文件
-v 指定變量
讓我們看一些有關(guān)“ awk”命令用法的示例,為了演示,我新建了一個(gè)文本文件,名稱為linuxmi.com.txt:
1、如何使用awk命令打印文件的列?
“ awk”命令可用于獲取文本文件的特定列。要打印文件的內(nèi)容,請使用:
linuxmi@linuxmi:~/www.linuxmi.com$ cat linuxmi.com.txt

現(xiàn)在,打印文件的第二列,使用:
linuxmi@linuxmi:~/www.linuxmi.com$ awk '{print $2}' linuxmi.txt
要打印多個(gè)字段,使用命令:
linuxmi@linuxmi:~/www.linuxmi.com$ awk '{print $1,$2,$3}' linuxmi.txt
如果你不使用逗號(hào)“,”,那么輸出將沒有空格:
linuxmi@linuxmi:~/www.linuxmi.com$ awk '{print $1$2$3}' linuxmi.txt
更新地址:https://www.linuxmi.com/10-awk-mingling.html
2、如何使用正則表達(dá)式與awk命令:
為了匹配字符串或任何表達(dá)式,我們使用斜杠' // ',例如,如果你想打印正在學(xué)習(xí)'lishi'的人的名字,那么使用:
linuxmi@linuxmi:~/www.linuxmi.com$ awk '/歷史/{print $2}' linuxmi.txt
張三
方咪
輸出清楚地表明,只有“張三”和“方咪”正在學(xué)習(xí)“歷史”課程。
3、如何通過“awk”命令使用關(guān)系表達(dá)式:
為了匹配特定字段的內(nèi)容,可以使用關(guān)系表達(dá)式。要將任何字符串或表達(dá)式與字段進(jìn)行匹配,請指示該字段,并使用比較符“?”與以下命令中顯示的模式進(jìn)行比較:
linuxmi@linuxmi:~/www.linuxmi.com$ awk '$3 ~/語/ {print $2}' linuxmi.txt
陳明
魚魚
上面的輸出顯示第2列中的每個(gè)字段與第3列中包含“語”的每個(gè)字段的對比。
要獲得上述命令的相反輸出,請使用“! ~”運(yùn)算符:
linuxmi@linuxmi:~/www.linuxmi.com$ awk '$3!~/語/ {print $2}' linuxmi.txt
為了進(jìn)行比較,我們還可以使用大于“>”,小于“ <”和等于“ =”的運(yùn)算符:
linuxmi@linuxmi:~/www.linuxmi.com$ awk '$4>81 {print $2}' linuxmi.txt
李華
方咪
輸出顯示了獲得81分以上得分的人員的姓名。
4、如何通過awk命令使用范圍模式:
范圍也可以用于搜索;只需使用逗號(hào)“,”來分隔范圍,如下面提到的命令所示:
linuxmi@linuxmi:~/www.linuxmi.com$ awk '/李四/,/陳明/ {print $3}' linuxmi.txt
輸出顯示第2列中從“李四”到“陳明”之間的課程。請參見下面的示例:
linuxmi@linuxmi:~/www.linuxmi.com$ awk '$4==87,$4==91 {print $2}' linuxmi.txt
輸出顯示第2列中人員的姓名,第4列中標(biāo)記“ 87到91”的范圍。
5、如何使用邏輯運(yùn)算符組合模式:
使用邏輯運(yùn)算符(例如OR“ ||”,“ &&&”)可以組合模式進(jìn)行搜索。使用以下命令
linuxmi@linuxmi:~/www.linuxmi.com$ awk '$4>81 && $6>0.4 {print $2}' linuxmi.txt
李華
方咪
上面的命令將在第四個(gè)字段上打印大于81的人名,在第六個(gè)字段上打印大于0.4的人名。并且只有兩個(gè)記錄滿足條件。
6、awk命令的特殊表達(dá)式:
有兩個(gè)特殊表達(dá)式,“ BEGIN”和“ END”:
開始:在處理數(shù)據(jù)之前執(zhí)行操作
結(jié)束:在處理完數(shù)據(jù)后執(zhí)行一項(xiàng)操作
linuxmi@linuxmi:~/www.linuxmi.com$ awk 'BEGIN {print '處理已經(jīng)開始'}; {print $2}; END {print '處理已結(jié)束'}' linuxmi.txt
7、awk命令的有用的內(nèi)置變量:
awk命令具有各種有助于數(shù)據(jù)處理的變量:
變量說明
NF它給出了數(shù)據(jù)中字段的數(shù)量
NR給出當(dāng)前記錄的編號(hào)
FILENAME顯示當(dāng)前正在處理的文件的名稱
FS 和 OFS字段分隔符和輸出字段分隔符
RS 和 ORS分離記錄和輸出記錄分隔符
示例:
linuxmi@linuxmi:~/www.linuxmi.com$ awk 'END{print '文件名是 ', FILENAME, '有', NF, '個(gè)字段和', NR, '個(gè)記錄'}' linuxmi.txt
我們使用“ END”,但是如果使用“ BEGIN”,則輸出將給出0個(gè)字段和0個(gè)記錄。
8、如何更改記錄分隔符:
記錄中的默認(rèn)分隔符通常為空格;如果有逗號(hào)“,”或點(diǎn)“?!弊鳛樽侄畏指舴?,然后將“ FS”選項(xiàng)與分隔符一起使用。
我們再來看一個(gè)文件,其中的數(shù)據(jù)字段之間用逗號(hào)“:”隔開:
linuxmi@linuxmi:~/www.linuxmi.com$ cat linuxmi.txt
linuxmi@linuxmi:~/www.linuxmi.com$ awk 'BEGIN {FS=':'}{print $2}' linuxmi.txt
由于文件的分隔符是冒號(hào),但是“ awk”命令甚至對此類文件也很有用,因此只需使用“ FS”選項(xiàng)即可。
也可以使用“ -F”:
linuxmi@linuxmi:~/www.linuxmi.com$ awk -F ':' '{print $2}' linuxmi.txt
默認(rèn)記錄分隔符為“換行符”,并將記錄分隔符設(shè)置為“:”,請使用:
linuxmi@linuxmi:~/www.linuxmi.com$ awk 'BEGIN{RS=':'}{print $1}' linuxmi.txt
9、Awk Actions:
Awk Actions是由“{}”括號(hào)括起來的小程序,它有多個(gè)用分號(hào)“;”分隔的語句。
使用“ awk”命令最常用的語句是“ print”語句。例如,要打印每條記錄的文本,請?jiān)谝?hào)中使用文本字符串:
linuxmi@linuxmi:~/www.linuxmi.com$ awk '{print 'Linux迷 www.linuxmi.com,' $2}' linuxmi.com.txt
讓我們使用awk執(zhí)行簡單的求和運(yùn)算:
linuxmi@linuxmi:~/www.linuxmi.com$ awk '{sum += $4} END {printf '%d\n', sum}' linuxmi.com.txt
10、創(chuàng)建awk程序:
讓我們從“ awk”編程開始,下面給出的編程只是在做乘法:
### Linux迷 www.linuxmi.com ###
### Linux迷 www.linuxmi.com ###
### Linux迷 www.linuxmi.com ###
BEGIN {
i=2
while(j<4)
{
print 'The multiplication of 2 with' j ' is ' i*j;
j++
}
}
用“l(fā)inuxmi.awk”的名稱保存程序并運(yùn)行,打開終端并輸入:
linuxmi@linuxmi:~/www.linuxmi.com$ awk -f linuxmi.awk
總結(jié):
“awk”命令是一種方便的命令,用于處理,掃描文本文件的數(shù)據(jù),例如分隔文件的任何特定字段;我們使用“ awk”命令。它使從文本文件中以任何形式或模式搜索任何內(nèi)容變得更加容易。在本指南中,我們了解“ awk”命令的基本知識(shí)及其用法?!?awk”命令可驗(yàn)證數(shù)據(jù),生成報(bào)告,甚至解析文件。使用簡單的命令“ awk”還可以使用戶編寫微型程序來更有效地處理數(shù)據(jù)。

關(guān)注我們

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Linux常用命令 awk 入門基礎(chǔ)教程
為什么你應(yīng)該學(xué)點(diǎn)Awk(附指南及示范) By yuanyi
詳解!!!awk參見使用命令
shell中字符串截取命令:cut,printf,awk,sed
linux awk 一看就懂
文本處理三劍客
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服