for num in {1..5}
do
perl simulate.pl file.txt file2.txt > output.txt
done
但是我的輸出每次都被覆蓋。我知道他們應該是這種我不知道的簡單答案。shell循環寫入同一個文件
for num in {1..5}
do
perl simulate.pl file.txt file2.txt > output.txt
done
但是我的輸出每次都被覆蓋。我知道他們應該是這種我不知道的簡單答案。shell循環寫入同一個文件
使用>>
到Concat的內容到一個文件中。每次寫入文件時,>
都會覆蓋該文件。
在每次寫入時使用'>>'會將多次運行的輸出放在同一個文件中,*和*是不必要的低效率,因爲每次運行'perl'命令時都會重新打開輸出文件,而不是離開輸出文件在整個循環過程中打開。 – 2017-11-13 15:57:03
可以在每次迭代時追加,也可以在最後覆蓋。
> output.txt
for num in {1..5}
do
perl simulate.pl file.txt file2.txt >> output.txt
done
for num in {1..5}
do
perl simulate.pl file.txt file2.txt
done > output.txt
它對我有用 – Anvesh 2017-01-18 10:27:05
單向重定向方法更好(避免重複打開文件)。當做一些像'perl'這樣重的事情時,並不是什麼大不了的事情,但是很多時候人們用這種看起來像'echo'的方式開始運行......「>> log';在這種情況下,設置重定向所需的時間實際上相對於「echo」作爲一個整體所需的時間是相當大的。 – 2017-11-13 16:25:47
'>' - operator - overwrite。 '>>' - 運算符 - 追加 – 2012-04-02 16:50:32