我正在尝试使用awk分隔字段,但是当我有多个分隔符时,我遇到了一些问题,每个分隔符都出现多次。
例如,如果我输入
echo "aa@@#####=#3413.5" | awk -F "#+|@+|=" '{print $1","$2","$3","$4","$5}'
然后结果是:
aa,,,,3413.5
但我想要的是
aa,3413.5
我已经在网上搜索了很长时间,但是其他问题与每个出现一次的多个分隔符有关,即“@ |#”,或者出现多次的单个分隔符,即“@ +”。
任何人都有关于如何在我的案例中分隔字段的想法?
非常感谢!
答案 0 :(得分:4)
awk -F '[@#=]+'
似乎有效。
awk -F "#+|@+|="
此匹配仅匹配#####
,@@@@
或=
等字符串。
请参阅以下网址了解详情: