awk按照多個分隔符進行分割

我們知道awk可以進行類似於cut之類的操作,如一個文件data如下

zhc-123|zhang

hongchangfirst-99|zhang

hongchang-100|zhang


如果我們

awk -F ‘-’ ‘{print $1;}’ data

會打印出

zhc

hongchangfirst

hongchang


但是如果我想根據多個分隔符進行分割呢?一種辦法是兩次awk,但是我們可以一次告訴awk我們所有的分隔符,如-和|這兩個,如

awk -F ‘[-|]’ ‘{print $3;}’ data

會打印出

zhang

zhang

zhang

就這麼簡單,還有一個問題,如果我們想用[]作爲分隔符怎麼辦?有辦法,這樣就行:

awk -F ‘[][]’ ‘{print $3;}’ data


這裏在多說一個技巧,如果你想把兩個文件按照對應的每行放在同一行上,可以用paste,比如:

data1文件爲

1

2

3

data2的文件爲

zhang

zhc

hongchangfirst


那麼你想要得到

1 zhang

2 zhc

3 hongchangfirst


那麼你這樣就也可以,

paste data1 data2


默認使用tab鍵作爲份分隔符,還可以自定義分隔符,如用=號:

paste -d‘=’ data1 data2

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