首頁 >頭條 > 正文

      awk命令用法大全

      2023-04-11 01:21:45來源:騰訊云


      【資料圖】

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

      Awk 命令的基本語法

      Awk 命令的基本語法如下:

      awk "pattern {action}" filename

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

      Awk 命令的工作原理

      Awk 命令的工作原理是逐行讀取文件,然后將每一行的文本按照指定的分隔符劃分成一系列的字段。在處理每一行文本的時候,Awk 會根據指定的 pattern 來進行匹配,如果匹配成功,則執行對應的 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將指定文本或變量按照指定的分隔符劃分為數組

      Awk 命令的示例

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

      打印文件的每一行

      awk "{print}" filename

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

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

      根據第一列進行排序

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

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

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

      根據指定的條件進行匹配和打印

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

      根據第一列進行求和

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

      根據第一列進行分組并計算每組的平均值

      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

      讀取多個文件并打印每個文件的行數和字節數

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

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

      awk "/pattern/ {if ($1 > 10) print "large"; else print "small"}" filename
      責任編輯:

      標簽:

      免責聲明

      頭條新聞

      推薦內容