AWK在文件上将文件拆分为较小的文件

时间:2013-08-27 17:56:48

标签: loops awk

我的文件类似于:

ISA.00. <rest of line>
information lines
information lines
...
...
...
ISA.00. <rest of line>
information lines
information lines
...
...
ISA.00. <rest of line>

我正在使用:

awk "/ISA.00./{file=(FILENAME)(++i)}{print > file}" %LOCATION%\%CURRFILE%

循环浏览文件夹,将它们拆分为仅包含一个“ISA”数据集的文件。我想保留原始的源文件名,并在末尾添加1,如subfile1,subfile2,subfile3。我已经完成了两个。

我如何定义输出目录,其中“子文件”将在原始位置保留原始源文件,并且只在“子文件目录”中包含“子文件”。

我遇到了各种各样的死胡同,并且正在寻求帮助作为最后的手段。

提前谢谢!

1 个答案:

答案 0 :(得分:1)

在文件名前添加目录名:

print > "subfiles/"file

如果您使用的是Windows,则应使用反斜杠\分隔目录,如下所示:

print > "subfiles\\"file

(反斜杠应该被转义)

这假定该目录已存在。另外,使用awk时使用单引号,例如awk 'commands' file