awk命令之指定多个字符串或特殊符号为分隔符

- 脚本

指定以单个逗号为分隔符

[root@imzcy ~]# echo abc123,abc123,abc123 |awk -F',' '{print $1, "\n" $2, "\n" $3}'     
abc123 
abc123 
abc123
[root@imzcy ~]# 


指定以数字3和逗号整体作为分隔符

这里3和逗号被作为一个整体当做分隔符,and 关系。

[root@imzcy ~]# echo abc123,abc123,abc123 |awk -F'3,' '{print $1, "\n" $2, "\n" $3}'
abc12 
abc12 
abc123
[root@imzcy ~]# 


指定以c或逗号为分隔符

c和逗号分别作为单独的分隔符,or 关系。

[root@imzcy ~]# echo abc123,abc123,abc123 |awk -F'c|,' '{print $1, "\n" $2, "\n" $3}'
ab 
123 
ab
[root@imzcy ~]#


指定以特殊符号为分隔符

不能直接匹配的特殊符号需以双反斜线\转义。

[root@imzcy ~]# echo [abc123],[abc123],[abc123] |awk -F'],[' '{print $1, "\n" $2, "\n" $3}'
awk: fatal: Invalid regular expression: /],[/
 
 
[root@imzcy ~]# echo [abc123],[abc123],[abc123] |awk -F'\\],\\[' '{print $1, "\n" $2, "\n" $3}' 
[abc123 
abc123 
abc123]
[root@imzcy ~]#