awk的幾個常用高階用法

2021-05-22 19:19:06 字數 703 閱讀 6760

用awk比較多,以下幾個是常用的稍微高階一點的用法

1、同時指定多個分割符

這時應該把分隔符寫成放到方括號中,如$awk -f'[ :/t]' ''  test  

此時指定了空格,:號,tab三個作為分隔符

2、awk的key的**用法

awk ' end '  test

用$1"/t"$2組成一維陣列的key,這樣可以用這種方式來處理很多複雜的二維資料邏輯

3、awk 的範圍模板

範圍模板匹配從第乙個模板的第一次出現到第二個模板的第一次出現之間所有行。如果有乙個模板沒出現,則匹配到開頭或末尾。

如$ awk '/root/,/mysql/' test將顯示root第一次出現到mysql第一次出現之間的所有行。

4、awk的重定向

awk 可使用shell的重定向符進行重定向輸出,如:$ awk '$1 = 100 ' test。上式表示如果第乙個域的值等於100,則把它輸出到output_file中。也可以用》來重定向輸出,但不清空檔案,只做追加操作。

這樣可以利用重定向,可以把不同的結果集寫入到不同的檔案裡

比如,我經常要跑出vip1,2,3,4,5,6的6份檔案,那麼就可以寫乙個指令碼,一次性都跑出來了

5、 awk -f"|" 'nr == fnr nr > fnr }' test test1

還有涉及2個檔案的時候,nr,fnr一起用,也比較少見的

awk的幾個常用高階用法

1 同時指定多個分割符 這時應該把分隔符寫成放到方括號中,如 awk f t test 此時指定了空格,號,tab三個作為分隔符 2 awk的key的 用法 awk end test 用 1 t 2組成一維陣列的key,這樣可以用這種方式來處理很多複雜的二維資料邏輯 3 awk 的範圍模板 範圍模板...

awk的高階用法

2 awk的key 這就是awk陣列的有意思之處了,陣列實際上也是map,雜湊,各種強大 如awk end test 用 1 t 2組成一維陣列的key 3 awk 的範圍模板 範圍模板匹配從第乙個模板的第一次出現到第二個模板的第一次出現之間所有行。如果有乙個模板沒出現,則匹配到開頭或末尾。如 aw...

幾個css的高階用法

calc可動態設定某個元素的長度 html main比如上述 把main元素的高度就設定為當前視窗的高度減去200px,字型大小也可用於此函式實現自適應字型 這個函式可用於所有css長度的屬性 這個函式用於獲取元素的屬性的值,我常用於在before等偽類樣式中。ul li beforehtml 專案...