awk 的基礎使用 (一)

簡單的說,awk就是獲取到文本行後,按照分隔符處理每一個域,這個域就是分割的一段一段的值。

$0 --整行  $n---第n個域

awk ' pattern {action}

  • 兩種常用方法:

1.cat 1.txt |awk -F 'x' '{print $0}' --x是分隔符 可以是字符或字符串

2. awk -F 'x' '{print $0}' 1.txt      ---注意單引號

  • 下面是幾種簡單的使用:

1.打印出來的域以tab鍵分割 ,\t

主要是print 的變化: '{print $1"\t"$2}' ----注意雙引號

2.以某一個字符串分割  用 this分割

  cat  2.txt

  awk -F 'this' '{print $1}' 2.txt

3.用內置變量打印

       ARGC                   命令行參數個數
       ARGV                   命令行參數排列
       ENVIRON                支持隊列中系統環境變量的使用
       FILENAME               awk瀏覽的文件名
       FNR                    瀏覽文件的記錄數
       FS                     設置輸入域分隔符,等價於命令行 -F選項
       NF                     瀏覽記錄的域的個數
       NR                     已讀的記錄數
       OFS                    輸出域分隔符
       ORS                    輸出記錄分隔符
       RS                     控制記錄分隔符

awk '{print "file:" FILENAME ",line " NR ",text:" $0}' 2.txt

打印第十行

awk 'NR==10' file1.txt         tail -n+10 file1.txt

4.使用printf 代替print 

awk '{printf "file:%s,line %d,text:%s\n", FILENAME, NR, $0}' 2.txt

5.在文件的頭尾添加行

cat 1.txt |awk 'BEGIN {print "the first line"} {print $1} END {print "the last line"}'

6.使用正則匹配第一個域爲three的行。

awk '$1 ~ /three/' 2.txt

正則表達式:https://blog.csdn.net/chrycoder/article/details/101274334

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章