2017-07-07 92 views
1

我想知道是否有可能改變下面的腳本,使得「intermediate.tmp」不作爲輸出生成:如何避免產生在bash腳本中間文件

要調用的腳本命令行:

./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

什麼是腳本的目的是什麼? – hedgar2017

回答

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