在awk中组合相同的分隔符

时间:2015-04-11 14:28:06

标签: regex unix awk

我有一个字符串

1__2_3__4_5_6

我想在AWK中将' __'(2下划线)设置为分隔符。

$1 should be 1
$2 should be 2_3
$3 should be 4_5_6 

1 个答案:

答案 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}恰好匹配两个下划线。