2013-08-19 104 views
0

我有以下的solaris的腳本中的一段代碼在bash其中>>(追加)不工作的意義:爲什麼append命令不能在我的腳本中工作?

for j in $(cat file1.txt); do 
    for i in $(cat file2.txt); do 
    if [ "$j" = "$i" ]; then 
     echo "_$i" >> file3.txt 
    fi 
    done 
done 

我不知道爲什麼file3.txt不產生

+2

如果你刪除'>> file3.txt',它打印什麼? – choroba

+0

這不是回答這個問題本身,但你可以使用'comm'命令來做同樣的事情 - http://www.ss64.com/bash/comm.html –

+2

這很可能是你的輸入文件不同,也就是說'每個輸入文件的n'是不同的。 – devnull

回答

0

如果在運行腳本時沒有顯示錯誤消息,>>重定向工作正常。問題在於使用它的線路只發生在永遠不會被調用的地方。

只需更換

if [ "$j" = "$i" ]; then 

通過

if [ "$j" != "$i" ]; then 

以確認它(假設既不的file1.txtfile2.txt爲空)。

相關問題