1. 程式人生 > 資訊 >中美科學家研製出可快速充電的鋰離子電池材料

中美科學家研製出可快速充電的鋰離子電池材料

awk命令

Awk是一種用於高階文字處理的通用指令碼語言,其主要用作報告和分析工具,與大多數其他程式性程式語言不同,Awk是資料驅動的,也就是說需要定義一組針對輸入文字要執行的操作,然後其獲取輸入資料,對其進行轉換,然後將結果傳送到標準輸出。

語法

awk [ -F fs ] [ -v var=value ] [ 'prog' | -f progfile ] [ file ... ]

引數

  • -F fs: 將輸入欄位分隔符設定為正則表示式fs
  • -v var=value: 在執行awk程式之前,將值賦值給變數var
  • 'prog': awk程式。
  • -f progfile: 指定檔案progfile
    ,其中包含要執行的awk程式。
  • file ...: 由指定的awk程式處理的檔案。

示例

示例檔案example.txt檔案內容如下:

Bucks Milwaukee    60 22 0.732 
Raptors Toronto    55 24 0.707 
76ers Philadelphia 51 31 0.622
Celtics Boston     33 33 0.598
Pacers Indiana     30 34 0.585

輸出example.txt的第3個欄位。

awk '{ print $3 }' example.txt
# 60
# 55
# 51
# 33
# 30

使用正則表示式匹配出以R

開頭的組。

awk '/^R/ { print $1,$2,$3,$4 }' example.txt
# Raptors Toronto 55 24

使用BEGIN以及END輸出在處理記錄之前與之後執行的操作,處理過程為輸出第二個欄位包含Tor的組。

awk 'BEGIN { print "Start Processing" }; $2 ~ /Tor/ {print $1,$2,$3,$4 }; END { print "End Processing" }' example.txt
# Start Processing
# Raptors Toronto 55 24
# End Processing

每日一題

https://github.com/WindrunnerMax/EveryDay

參考

https://linuxize.com/post/awk-command/
https://www.computerhope.com/unix/uawk.htm
https://www.runoob.com/linux/linux-comm-awk.html