Bash 如何使用gawk close()写入特定文件/位置

Bash 如何使用gawk close()写入特定文件/位置,bash,awk,Bash,Awk,我有一个文件如下所示: NameA X Y 0 Add1 NameA X Y 1 Add1 NameB X Y 1 Add1 NameB X Y 0 No NameB X Y 1 No /some/dir/input_file.txt /some/dir/processed/NameA.processed /some/dir/processed/NameB.processed 我正在通过gawk运行它,如下所示: gawk -v OFS='\t' '{FS = OFS} {if ($0 ~

我有一个文件如下所示:

NameA X Y 0 Add1
NameA X Y 1 Add1
NameB X Y 1 Add1
NameB X Y 0 No
NameB X Y 1 No
/some/dir/input_file.txt
/some/dir/processed/NameA.processed
/some/dir/processed/NameB.processed
我正在通过gawk运行它,如下所示:

gawk -v OFS='\t' '{FS = OFS} {if ($0 ~ /Add1/) {print $2, $3, $4 + 1 >> $1; close($1)} else {print $2, $3, $4 >> $1; close($1)}}' input_file.txt
这将在workdirectory中写入两个文件“NameA”和“NameB”,并按照我的意愿工作

是否有方法将这些文件写入特定目录,并附加“.processed”之类的内容,使文件如下所示:

NameA X Y 0 Add1
NameA X Y 1 Add1
NameB X Y 1 Add1
NameB X Y 0 No
NameB X Y 1 No
/some/dir/input_file.txt
/some/dir/processed/NameA.processed
/some/dir/processed/NameB.processed

我相信你可以改变:

… >> $1 …
致:


哇,我只是在测试时错过了引用。非常感谢。