2017-06-07 13 views
1

非常に長いgrepスキャンを実行しようとしています。実行後にScreenが終了するので、grepの出力を保存するためにログファイルに書き込もうとしています。次のコマンドが表示されました:画面のGrepが出力をログファイルに保存しない

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

残念ながら、ログファイルは空です。何が悪かったのか? grepではなくscreenの出力が保存されますか?これをどうやって解決するのですか?

答えて

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 & 

はあまりにもあなたのために働くだろう。

関連する問題