【发布时间】: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 程序,将分隔符上的文件拆分为多个编号的部分并在两个平台上工作?
【问题讨论】: