在 Linux 中查找和替换文件

在 Linux 中查找和替换文件

我知道如何在文件中查找和替换某些字符串,但我感兴趣的是如何查找和替换整个文件?例如,我想找到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

相关内容