在Linux中使用cp时如何避免“同一个文件”警告消息?

我试图将某些文件从一个目录复制到另一个目录.使用此命令

find "$HOME" -name '*.txt' -type f -print0 | xargs -0 cp -t $HOME/newdir

我收到一条警告信

cp: ‘/home/me/newdir/logfile.txt’ and ‘/home/me/newdir/logfile.txt’
are the same file

如何避免此警告讯息?

解决方法

问题是您尝试将文件复制到其自身.您可以通过从find命令的结果中排除目标目录来避免这一点:

find "$HOME" -name '*.txt' -type f -not -path "$HOME/newdir/*" -print0 | xargs -0 cp -t "$HOME/newdir"

dawei

【声明】:淮南站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。