Awk - 附加输出文件并重命名输入和输出文件

时间:2015-01-22 16:29:37

标签: awk append match

我希望继续使用99开头的文件3中的行更新File4。我不希望awk每次都创建一个新的File4。 在awk中是否有办法随时附加File4?

我还希望在处理文件后将file3重命名为file3.orig,将file4重命名为file3.txt(输入文件的原始名称)。因此File4在处理后将成为File3,File3将成为File3.orig。

感谢任何帮助。 以下是我正在使用的脚本。

脚本

awk -F '\t', '/^99/' File3.txt > File4.txt

2 个答案:

答案 0 :(得分:2)

使用>>附加到现有文件:

#                      v-- here
awk '/^99/' File3.txt >> File4.txt

如果文件不存在,将创建该文件,如果存在则附加到该文件。文件随机播放最好在之后完成:

mv File3.txt File3.orig
mv File4.txt File3.txt

答案 1 :(得分:1)

sed适用于此任务:

sed -i.orig -n '/^99/p' File3.txt