awk按照多个分隔符进行分割

发布于 2019-11-13  564 次阅读


普通的多个分隔符,需要加【】

如:awk -F [:@] '{ print $2, $3 }' ssh.txt

特殊的多个分隔符,需要加\

如果多个分隔符中有至少一个特殊字符,那么还需要在中括号外加上双引号或者单引号,并且使用两个或两个以上的\将其进行转义

$^()[]?.|

如:awk -F '[\\^\\|]' '{ print $1,$2,$3}' ssh.txt

 

报错

需要转义符号‘ 和“ ,但是转义有警告提醒

awk -F "[\'\"]" '{print $2}'  aa.txt

报错:

awk: warning: escape sequence `\'' treated as plain `''

决解的方法:要弄\\\个,两个会失败,原来如下:

awk -F "[\\\'\\\"]" '{print $2}'  aa.txt