我想知道是否可以更改以下脚本,例如" intermediate.tmp"不是作为输出生成的:
要在命令行上调用脚本:
./script.sh file1 file2
script.sh:
#!/bin/bash
FILE_1=$1
FILE_2=$2
awk '{print $1,$2}' $FILE_1 > intermediate.tmp
awk 'NR==FNR {h[$1] = $0; next} {print $0,h[$1]}' intermediate.tmp $FILE_2 > output.file
awk脚本本身并不重要。我只是想知道如何"饲料"将intermediate.tmp放入第二个awk命令中,除了所需的output.file外,还不生成一个intermediate.tmp输出文件。
感谢。
答案 0 :(得分:2)
awk 'NR==FNR {h[$1] = $1 OFS $2; next} {print $0,h[$1]}' "$FILE_1" "$FILE_2" > output.file
或不太明智:
awk '{print $1,$2}' "$FILE_1" |
awk 'NR==FNR {h[$1] = $0; next} {print $0,h[$1]}' - "$FILE_2" > output.file