我知道如何在文件中查找和替换某些字符串,但我感兴趣的是如何查找和替换整个文件?例如,我想找到info.php
在特定时间修改的所有文件并将其替换为另一个文件。
就像是:
find -f /home/ -name php.info -exec cp -f /var/somefile.php {}
或者?
我不知道如何添加,以便它只搜索已修改的文件,例如,在 20.1.2014
答案1
find 有一个-mtime
过滤器,您可以使用它。
为了进行更复杂的搜索和替换,您还可以使用 shell 循环。
find WHATEVER | while read f ; do
## add your own test here, like …
# fgrep -qs "do not delete" "$f" && continue
cp -f /what/ever "$f"
done
为了提供find
确切的日期,请使用类似这样的内容-newermt 2014-01-20 \! -newermt 2014-01-21
。