之前有一个文件里的内容是
|+|abc|+|1234|+|http://url|+|
之前查看别的文件,使用awk 分割时,一直是用的""双引号,也没有发现异常。
当遇到上述格式的时候,发现了不对劲,切割出来的结果不是自己想要的
echo "|+|abc|+|1234|+|http://url|+|" |awk -F "\\|\\+\\|" '{print $2}'
上述命令执行的结果其实并没有按照"|+|"来切割
|abc|
把双引号换成单引号的时候,结果才是正常的,另外这个问题在mac里,我如果使用的双引号就直接报错了
echo "|+|abc|+|1234|+|http://url|+|" |awk -F '\\|\\+\\|' '{print $2}'
结果是显示是正常的,按照"|+|"来切割
abc
在mac里执行第一段代码
awk: illegal primary in regular expression |+| at +|
input record number 1, file
source line number 1