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

时间:2019-11-14 23:25:09

标签: 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

我正在通过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

这会在工作目录中写入2个文件“ NameA”和“ NameB”,并且可以按我的预期工作。

是否可以将这些文件写入特定目录,并添加类似“ .processed”的文件,这样文件就可以像这样放置:

/some/dir/input_file.txt
/some/dir/processed/NameA.processed
/some/dir/processed/NameB.processed

1 个答案:

答案 0 :(得分:1)

我相信您可以更改:

… >> $1 …

收件人:

… >> "processed/"$1".processed" …