2017-06-07 72 views
1

我想執行一個非常長的grep掃描槽我的文件。由於屏幕將在執行後關閉,我正在嘗試寫入日誌文件以保存grep的輸出。出現以下命令:在屏幕上grep不保存輸出到日誌文件

screen fgrep "needle" /mnt/Volume_volume/haystack/* >> /mnt/Volume_volume/log.txt 

不幸的是,日誌文件是空的。什麼地方出了錯?屏幕輸出是否被保存而不是grep?我該如何解決?

回答

4

您寫的命令意味着:運行screen fgrep "needle" /mnt/Volume_volume/haystack/*並將此命令的結果追加到文件/mnt/Volume_volume/log.txt。屏幕顯示其輸出,所以這就是你在日誌文件中得到的。

如果你真的想使用的屏幕,正確的命令應該是這樣的:

screen bash -c 'fgrep "needle" /mnt/Volume_volume/haystack/* >> /mnt/Volume_volume/log.txt' 

,但我懷疑簡單:

nohup fgrep "needle" /mnt/Volume_volume/haystack/* >> /mnt/Volume_volume/log.txt & 

會爲你工作了。