linux命令——awk

awk 語法格式

awk {參數} 'pattern {action}'   {filename}

 常用參數:

-F #指定分隔符

-v var=varlue #用戶設定的變量

pattern(模式)常用有以下幾種格式

/正則表達式/ #如/user/ ,/^user/

關係表達式 #如NR==1 || NR==2,其中NR是awk工具中的特定變量,是行號的意思

BEGIN,END 模塊 #其中BEGIN模塊是awk程序開始前的動作,BEGIN模塊後面跟動作模塊,END模塊是awk程序結束後的動作。

action (動作) 主要爲一個或多個命令,函數,表達式等 用;隔開。

用幾個例子幫助理解

awk -F : '/root/ {print $0}' /etc/passwd #打印出/etc/passwd 中包含root的行,$0指整個文件,$1是以分隔符隔開的第一個字段

awk -F '[:\t]' 'print {$1,$3}' #以:,製表符,空格爲分隔符,並打印出第一,三字段(多個分隔符用[]括起來)

ls -l filename|awk 'BEGIN {size=0;} {size=$5;} END {print "size is:",size}' #統計filname的大小

awk '{gsub("a","A");print}' filename #把filename中的a替換成A,打印出來

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