Linux awk基礎筆記

ImproveMyself發表於2018-07-31

正規表示式含義與構成:用單個字串來描述或者匹配一系列符合某個句法規則的字串,一般是由普通字元與特殊字元組成

awk 選項 `模式或者命令{編輯指令}` 檔名 awk `//{print}`
awk -f 指令碼檔案 檔名

 

元字元 :

轉義
^ 以….開頭
$ 以….結尾
. 任意符
* 匹配子表示式0次或多次
[list] 匹配列表裡的一個字元 eg: go[ola]d 也只是匹配其中一個字元
[^list] 匹配任意一個不在列表裡的一個字元
{n,m} 匹配前面的子表示式最小n到最大m次

擴充套件元字元:

+ 匹配前面子表示式1次以上
? 匹配前面子表示式0次或者1次
() 將括號中的字串看成一個整體
| 以 或 的方式匹配

awk 內建變數:
FS 指定每行文字中的分隔斷,不寫分隔符預設空格
NF 處理當前文字的列數
NR 處理當前文字的行數
$0 處理當前行的整行內容
$n 處理當前的第n個欄位

sort 排序命令
sort -r 反向排序
sort -n 以數值的大小排序,從大到小
uniq 去除重複項
uniq -c 在每行加上編號

公司例項:

使用awk 一條命令:提取IP並且編輯IP生成主機名,並且把IP中的 . 替換成 –   (生成的格式:使用者名稱-IP-地址)

hostname `ifconfig | grep “inet addr:” | awk -F: `NR==1 {print $2}`|awk -F” ” `{print $1}`|awk -F. `{print “Dfs-“$1”-“$2”-“$3”-“$4″-BJ”}“

相關文章