在屏幕上grep不保存输出到日志文件

问题描述:

我想执行一个非常长的grep扫描槽我的文件。由于屏幕将在执行后关闭,我正在尝试写入日志文件以保存grep的输出。出现以下命令:在屏幕上grep不保存输出到日志文件

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

不幸的是,日志文件是空的。什么地方出了错?屏幕输出是否被保存而不是grep?我该如何解决?

您写的命令意味着:运行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 & 

会为你工作了。