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

Awk - Append the output file and rename the input and output file

我希望用文件 3 中以 99 开头的行不断更新 File4。我不希望 awk 每次都创建一个新的 File4。 awk 中有没有办法一直附加 File4?

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

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

脚本

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

sed 适合这个任务:

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

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

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

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

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