首頁 行業(yè) 活動(dòng) 項(xiàng)目 快訊 文娛 時(shí)尚 娛樂 科技 汽車 綜合 生活

awk命令用法大全

2023-04-10 22:24:28 來源:騰訊云


(資料圖)

Awk 是一個(gè)非常強(qiáng)大的文本處理工具,它可以對(duì)文本文件進(jìn)行數(shù)據(jù)提取、過濾、轉(zhuǎn)換和格式化等操作。Awk 的語法比較簡(jiǎn)單,但功能非常強(qiáng)大,掌握它可以大幅提高文本處理的效率。下面是 Awk 的一些常用用法,供大家參考。

Awk 命令的基本語法

Awk 命令的基本語法如下:

awk "pattern {action}" filename

其中 pattern 是匹配文本的條件,action 是對(duì)匹配的文本進(jìn)行操作的命令,filename 是待處理的文件名。如果省略 filename,則 Awk 命令會(huì)從標(biāo)準(zhǔn)輸入讀取數(shù)據(jù)。

Awk 命令的工作原理

Awk 命令的工作原理是逐行讀取文件,然后將每一行的文本按照指定的分隔符劃分成一系列的字段。在處理每一行文本的時(shí)候,Awk 會(huì)根據(jù)指定的 pattern 來進(jìn)行匹配,如果匹配成功,則執(zhí)行對(duì)應(yīng)的 action。

Awk 命令的常用選項(xiàng)

以下是 Awk 命令的一些常用選項(xiàng):

-F指定分隔符-v定義變量-f指定 awk 腳本文件

Awk 命令的常用模式

以下是 Awk 命令的一些常用模式:

/pattern/匹配包含 pattern 的文本行$n匹配當(dāng)前行的第 n 個(gè)字段NR == n匹配第 n 行NF > n匹配有超過 n 個(gè)字段的行

Awk 命令的常用操作

以下是 Awk 命令的一些常用操作:

print打印指定的文本或變量printf格式化打印指定的文本或變量getline讀取下一行的文本length計(jì)算指定文本或變量的長(zhǎng)度substr提取指定文本或變量的子字符串split將指定文本或變量按照指定的分隔符劃分為數(shù)組

Awk 命令的示例

以下是 Awk 命令的一些示例:

打印文件的每一行

awk "{print}" filename

打印文件的第一列和第三列

awk "{print $1,$3}" filename

根據(jù)第一列進(jìn)行排序

awk "{print $0}" filename | sort -k1

打印文件的第一列和第三列,以逗號(hào)為分隔符

awk -F, "{print $1,$3}" filename

根據(jù)指定的條件進(jìn)行匹配和打印

awk "/pattern/ {print $0}" filename

根據(jù)第一列進(jìn)行求和

awk "{sum += $1} END {print sum}" filename

根據(jù)第一列進(jìn)行分組并計(jì)算每組的平均值

awk "{sum[$1] += $2; count[$1]++} END {for (i in sum) print i, sum[i]/count[i]}" filename

按照指定的格式打印文本

awk "{printf "%-10s %-10s %10s\n", $1, $2, $3}" filename

讀取多個(gè)文件并打印每個(gè)文件的行數(shù)和字節(jié)數(shù)

awk "{lines += NR; bytes += length} END {print lines, bytes}" filename1 filename2

判斷文本是否符合指定的條件并進(jìn)行處理

awk "/pattern/ {if ($1 > 10) print "large"; else print "small"}" filename
關(guān)鍵詞:

上一篇:澳媒:澳大利亞近六成民眾反對(duì)通過加稅為“奧庫斯”協(xié)議買單

下一篇:睪丸發(fā)育不全性男假兩性畸形|世界快播

責(zé)任編輯:

最近更新

點(diǎn)擊排行
推薦閱讀