我正在尝试使用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之间的一些差异。在print语句中去掉字符串连接符可以让awk程序在两个平台上运行,但我更喜欢保留前缀和后缀。如何编写一个awk程序,在分隔符上将文件分成多个编号部分,并在两个平台上运行?