awk -F 不起作用

1 text awk

当我执行以下命令时:

echo "1;2;3;4;5" > file.txt
Run Code Online (Sandbox Code Playgroud)

然后:

awk -F; {print $1} file.txt
Run Code Online (Sandbox Code Playgroud)

我没有得到 file.txt 的第二个元素。怎么了?

ste*_*ver 5

几件事:

  • ;可能的特殊到shell所以需要以进行转义把它作为awk的-F说法
  • 同样,$1除非引用,否则将被 shell 解释
  • 最后,$1将是第一个元素而file.txt不是第二个

所以试试

awk -F\; '{print $2}' file.txt
Run Code Online (Sandbox Code Playgroud)