当我在服务器上使用定位并且结果在我的rsnapshot
备份中时,我得到了所有这些重复项。
我可以使用 grep 过滤掉所有 rsnapshot 文件:
locate something_in_backup | grep -v /var/cache/rsnapshot
但这样我就会错过备份中来自其他服务器的文件。
我如何过滤输出以仅显示来自rsnapshot/daily.0/
文件夹的结果?
答案1
您可以在 grep 命令中使用正则表达式:
locate something_in_backup | grep -v 'rsnapshot/\(hourly.[1-5]\|daily\|weekly\|monthly\)'
或者如果您不每小时备份一次:
locate something_in_backup | grep -v 'rsnapshot/\(daily.[1-7]\|weekly\|monthly\)'
注意管道和括号的正确转义