在屏幕上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 &
会为你工作了。