awk內建函數split的使用

data:

a|b|c,d1,e1,f3|d|
e|f|g1,g1|h|

期望結果:

a|b|f3|d|
a|b|c|d|
a|b|d1|d|
a|b|e1|d|
e|f|g1|h|
e|f|g1|h|
View Code
awk -F '|' 'BEGIN{OFS="|"} {split($3,a,",");for(i=1;i<=length(a);i++) {$3=a[i];print $0}}' data

注:

awk的內建函數split,可以把一個字符串分隔爲單詞並存儲在數組中
可以自己定義域分隔符或者使用當前FS(域分隔符)的值
如果不設置,awk就默認使用當前FS值
格式:

 split(string, array, field separator)
 split(string, array)     # 第三個參數沒有提供,awk就默認使用當前FS值。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章