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值。
*** 你必须十分努力,才能看起来毫不费力 ***