【问题标题】:Awk a space-separated fileawk 一个空格分隔的文件
【发布时间】:2016-10-12 22:03:08
【问题描述】:

当我awk下面的时候,遇到了错误。

awk -F '$1' "2.\ 2006-07\ and\ 2007-08\ ERB\ IN.csv"

这是错误:

awk: cmd. line:1: 2.\ 2006-07\ and\ 2007-08\ ERB\ IN.csv
awk: cmd. line:1:   ^ backslash not last character on line
awk: cmd. line:1: 2.\ 2006-07\ and\ 2007-08\ ERB\ IN.csv
awk: cmd. line:1:   ^ syntax error

【问题讨论】:

  • awk 的第一个参数应该是处理文件内容的脚本。
  • 你为什么要逃避这些空间?
  • 为什么使用$1作为文件的字段分隔符?
  • 当您将文件名放在引号中时,您不需要转义文件名中的空格。

标签: bash csv awk


【解决方案1】:

如果要打印文件每一行的第一个字段,应该是:

awk '{print $1}' "2. 2006-07 and 2007-08 ERB IN.csv"

由于您遗漏了awk 的脚本参数,它会将"2.\ 2006-07\ and\ 2007-08\ ERB\ IN.csv" 视为要执行的脚本。但该文件名无效 awk 脚本语法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多