多个字段分隔符,每个字段分隔符使用awk多次出现

时间:2014-06-04 00:29:29

标签: unix awk delimiter

我正在尝试使用awk分隔字段,但是当我有多个分隔符时,我遇到了一些问题,每个分隔符都出现多次。

例如,如果我输入

echo "aa@@#####=#3413.5" | awk -F "#+|@+|=" '{print $1","$2","$3","$4","$5}'

然后结果是:

aa,,,,3413.5

但我想要的是

aa,3413.5

我已经在网上搜索了很长时间,但是其他问题与每个出现一次的多个分隔符有关,即“@ |#”,或者出现多次的单个分隔符,即“@ +”。

任何人都有关于如何在我的案例中分隔字段的想法?

非常感谢!

1 个答案:

答案 0 :(得分:4)

awk -F '[@#=]+'

似乎有效。

awk -F "#+|@+|=" 

此匹配仅匹配#####@@@@=等字符串。

请参阅以下网址了解详情:

http://www.math.utah.edu/docs/info/gawk_5.html#SEC28