【问题标题】:Splitting a file using AWK on Mac OS X在 Mac OS X 上使用 AWK 拆分文件
【发布时间】:2011-11-02 12:30:37
【问题描述】:

我正在尝试在特定分隔符上使用 AWK 拆分文件。 awk 代码如下所示:

awk '/SEPARATOR/{n++}{print > "part" n ".txt" }' in.txt

这段代码在我的 Linux 系统上完美运行。但是在 Mac OS X 上运行完全相同的代码时,我得到以下错误:

awk: syntax error at source line 1
 context is
    /SEPARATOR/{n++}{print > "part" >>>  n <<<  ".txt" }
awk: illegal statement at source line 1

我认为这是 OS X 附带的 awk 和 Linux 的 mawk 之间的某种差异。删除打印中的字符串连接可以让 awk 程序在两个平台上工作,但我更愿意保留前缀和后缀。如何编写一个 awk 程序,将分隔符上的文件拆分为多个编号的部分并在两个平台上工作?

【问题讨论】:

    标签: linux macos awk


    【解决方案1】:

    您可以通过使用变量来修复此脚本:

    awk '/SEPARATOR/{n++}{filename = "part" n ".txt"; print >filename }' in.txt
    

    【讨论】:

      猜你喜欢
      • 2010-12-22
      • 1970-01-01
      • 2013-11-10
      • 2019-02-03
      • 2011-01-04
      • 2012-12-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多