我有一个包含190条记录的文件,并希望将其拆分为190个单独的文件。 我面临的问题是,在将其拆分为190个单独文件后,会在每个文件的末尾添加换行符。
每行都有单词"注意"在它。
我正在使用awk命令
awk '{if ($0 ~ /NOTE/) a++} {printf >> "file"a}' OrgFile.txt
以下是我的带有190条记录的Orgfile.txt看起来如何
的示例 2014-09-04-22.13.12.000000000000000912345678 NOTE 123456 123456
2014-08-04-23.22.12.000000000000000912345678 NOTE 123456 123456
2014-07-04-07.07.12.000000000000000912345678 NOTE 123456 123456
.....
我如何仍然使用此命令从Orgfile创建这些新的单个文件,但不包含换行符。
如果有人知道如何做得更好,那也很棒
由于
答案 0 :(得分:0)
我使用print
代替printf
来解决它。假设每行都转到一个新文件,我还在您的脚本中进行了一些更改:
awk '$0 ~ /NOTE/ {print $0 > "file"(++a);}' OrgFile.txt
更改:模式不在体内(不使用if语句)。您的后增量可以使用预增量在同一个print语句中完成。
让我知道,如果我误解了,但在你的情况下,如果一行不包含单词"注意"它会附加到您编写的最后一个文件中,因为您的打印代码位于另一个始终执行的块中(即使此行不包含单词"注意")。在我的代码中,只有当一行包含单词" NOTE"时才会将一行写入文件,但如果我对你的语义错误,你可以更改代码; - )