欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux awk命令基本使用及說明

 更新時間:2023年08月18日 14:10:46   作者:鹿上的程序媛  
這篇文章主要介紹了Linux awk命令基本使用及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

Linux awk命令基本使用

awk命令是一種處理文本的語言,是一個強大的文本分析工具,比較適用于文本的格式化。awk命令結構:

awk 'BEGIN{commands} pattern{command} END{command}'

awk工作流程可以分為三個部分:

  • 讀取輸入文件之前執(zhí)行的代碼段(由BEGIN關鍵字標識)
  • 主循環(huán)執(zhí)行輸入文件的代碼段
  • 讀取輸入文件之后的代碼段(由END關鍵字 標識)

基本用法

用法一:

awk '{[pattern] action}'  {filename}	
#行匹配語句 awk ' '這里只能用單引號。

實例:

1、創(chuàng)建一個測試文本文件如下;

2、輸出test1.txt第一列、第三列和第四列,并且按空格分隔;

awk '{print $1,$3,$4}' test1.txt

輸出結果

格式化輸出,列對齊;

awk '{printf "%-5s %-5s\n",$3,$4}' test1.txt
#這里%-5s的數字可以更改用來調整列之間的間隔

用法二:

awk -F #這里的-F相當于內置變量FS,指定分割字符
awk -F, '{print $1,$2,$3}' test1.txt
#將文本中的逗號替換成空格,進行分割
awk 'BEGIN{FS=","}{print $1,$2,$3}' test1.txt
#相當于內置變量FS
awk -F '[ ,]' '{print $1,$2,$3}' test1.txt
#使用多個分隔符,先使用空格分割,然后對分割結果在使用都好分割

用法三:

awk -v #設置變量
awk -va=1 '{print $1,$1+a}' test1.txt

輸出結果

awk -vb=s '{print $1,$1b}' test1.txt

用法四:

awk -f {awk腳本} {filename}
awk -f cal.awk test1.txt

使用運算符

用法五:

awk '$1>2 {print $0}' test1.txt
#輸出第一列大于2的行
awk '$1==3 {print $0}' test1.txt
#輸出第一列等于3的行
awk '$1>2 && $2=="carl"{print $0}' test1.txt
#輸出第一列大于2,第二列等于carl的行

使用內置變量:

內置變量有如下多種:

awk '{print NR,FNR,$3}' test1.txt
#輸出順序號NR,匹配文本行號;

指定輸出分割符OFS:

awk '{print $1,$2,$3,$4}' OFS="," test1.txt

使用正則,進行字符串匹配

awk '$3~/a/ {print $0}' test1.txt
#輸出第三列包含a的所有行,~表示模式開始,//中是模式
awk '/a/' test1.txt
#輸出包含a的行

忽略匹配字符的大小寫:

awk 'BEGIN{IGNORECASE=1} /a/' test1.txt
#即可以匹配包含A 或 a的行

模式取反:

awk '$3!~/a/ {print $0}' test1.txt
#輸出第三列不包含a的所有行,~表示模式開始,//中是模式
awk '!/a/' test1.txt
#輸出不包含a的行

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論