awk比较-GunZip文件:

awk比较-GunZip文件:,awk,Awk,想知道如果输入文件是*gz格式,如何更改下面的命令来比较两个文件 此命令正在运行 awk -F, 'FNR==NR {a[$1]=$0;next} {if (!($1 in a)) print $0,a[$1] ; }' OFS=, f22.txt f11.txt>Output_f33.txt 因为这个命令不起作用,所以在哪里 awk -F, 'FNR==NR {a[$1]=$0;next} {if (!($1 in a)) print $0,a[$1] ; }' OFS=, f22.t

想知道如果输入文件是
*gz
格式,如何更改下面的命令来比较两个文件

此命令正在运行

awk -F, 'FNR==NR {a[$1]=$0;next} {if (!($1 in a)) print $0,a[$1] ; }' OFS=, f22.txt f11.txt>Output_f33.txt
因为这个命令不起作用,所以在哪里

awk -F, 'FNR==NR {a[$1]=$0;next} {if (!($1 in a)) print $0,a[$1] ; }' OFS=, f22.txt.gz f11.txt.gz>Output_f33.txt

awk
用于基于文本的数据文件
gz
文件是压缩文件,这意味着它们不再采用
awk
可以解析的格式。您必须解压缩文件并将其传递给
awk
。你可以这样说:

awk -F, 'FNR==NR {a[$1]=$0;next} {if (!($1 in a)) print $0,a[$1] ; }' OFS=, <(gzip -dc f22.txt.gz) <(gzip -dc f11.txt.gz) > Output_f33.txt
awk-F,'FNR==NR{a[$1]=$0;next}{if(!(a中的$1))打印$0,a[$1];}'OFS=,
awk '
BEGIN {FS = OFS = ","}
FNR==NR {a[$1] = $0; next}
!($1 in a){print $0, a[$1]}' <(gzip -dc f22.txt.gz) <(gzip -dc f11.txt.gz) > Output_f33.txt