首頁 行業(yè) 活動 項目 快訊 文娛 時尚 娛樂 科技 汽車 綜合 生活

awk命令用法大全

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


(資料圖)

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

Awk 命令的基本語法

Awk 命令的基本語法如下:

awk "pattern {action}" filename

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

Awk 命令的工作原理

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

Awk 命令的常用選項

以下是 Awk 命令的一些常用選項:

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

Awk 命令的常用模式

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

/pattern/匹配包含 pattern 的文本行$n匹配當前行的第 n 個字段NR == n匹配第 n 行NF > n匹配有超過 n 個字段的行

Awk 命令的常用操作

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

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

Awk 命令的示例

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

打印文件的每一行

awk "{print}" filename

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

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

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

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

打印文件的第一列和第三列,以逗號為分隔符

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

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

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

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

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

根據(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

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

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

判斷文本是否符合指定的條件并進行處理

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

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

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

責任編輯:

最近更新

點擊排行
推薦閱讀