我有一个字符串
1__2_3__4_5_6
我想在AWK中将' __'(2下划线)设置为分隔符。
$1 should be 1
$2 should be 2_3
$3 should be 4_5_6
答案 0 :(得分:3)
只需将__
设为FS值即可。您也可以将正则表达式作为FS值传递。
$ echo '1__2_3__4_5_6' | awk -v FS="__" '{print $1}'
1
$ echo '1__2_3__4_5_6' | awk -v FS="__" '{print $2}'
2_3
$ echo '1__2_3__4_5_6' | awk -v FS="__" '{print $3}'
4_5_6
$ echo '1__2_3__4_5_6' | awk -v FS="_{2}" '{print $3}'
4_5_6
_{2}
恰好匹配两个下划线。