有的时候我们用awk截取字段,有好多不同的符号,我们需要截取好多次,指定多个分隔符,我们只截取一次可能就会得到我们想要的字段。
一、指定多个分隔符
[root@cxm ~]# cat 123
1111111111*222222222222222|33333333333#4444444444444&5555555555555555
根据上边的文件,我们可以以* |#& 为分隔符
[root@cxm ~]# awk -F '[*|#&]' '{print $3}' 123
33333333333
[root@cxm ~]# awk -F '[*|#&]' '{print $4}' 123
4444444444444
二、连续的分隔符为一个分隔符
[root@cxm ~]# cat 222
111111*****2222222|||||||3333333########444444444&&&&&&&&&55555555
在[]后边加个+(加号)
[root@cxm ~]# awk -F '[*|#&]+' '{print $3}' 222
3333333
默认连续不同的分隔符也会成为一个分隔符
[root@cxm ~]# cat 333
111111*|2222222|||||||3333333########444444444&&&&&&&&&55555555
[root@cxm ~]# awk -F '[*|#&]+' '{print $3}' 333
3333333
*和|变成了一个分隔符