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

 

文章來源:http://blog.csdn.net/hongchangfirst/article/details/25071937


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM