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

分隔符為什么放在BEGIN里就沒問題,難道我那樣寫錯了?

# awk 'BEGIN{FS="[: ]+";OFS=":"}NR==FNR{a[$1]=$2;next}{$2=a[$1];print}' b a

a:1:a1

b:2:b1

c:3:c1


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

zhc-123|zhang

hongchangfirst-99|zhang

hongchang-100|zhang

如果我們

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

會打印出

zhc

hongchangfirst

hongchang

但是如果我想根據(jù)多個分隔符進行分割呢?一種辦法是兩次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

作者:hongchangfirst

hongchangfirst的主頁:http://blog.csdn.net/hongchangfirst

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • https://blog.csdn.net/hongchangfirst/article/details/2507...
    阿基米德來了閱讀 2,857評論 0 0
  • 本章主要學習內(nèi)容awk介紹 ?awk基本用法 ?awk變量 ?awk格式化 ?awk操作符 ?awk條件判斷 ?a...
    楠人幫閱讀 1,376評論 0 8
  • awk介紹awk變量printf命令:實現(xiàn)格式化輸出操作符awk patternawk actionawk數(shù)組aw...
    哈嘍別樣閱讀 1,743評論 0 4
  • awk是行處理器: 相比較屏幕處理的優(yōu)點,在處理龐大文件時不會出現(xiàn)內(nèi)存溢出或是處理緩慢的問題,通常用來格式化文本信...
    想賺錢的雷大閱讀 563評論 0 3
  • Linux指令中文說明傳送入口 整理自Linux指令中文說明 文本和數(shù)據(jù)進行處理的編程語言awk 是一種編程語言,...
    釋閑人閱讀 2,389評論 1 6

友情鏈接更多精彩內(nèi)容