我正在 apache 日志目录中运行以下行以将旧的(以前压缩的)日志移动到存储位置:
/usr/local/apache2.2/logs$ find . -name '*.gz' -exec cp {} /home/itadmin/temp4{} \;
由于“.”,结果略有偏差包含在返回的文件路径中:
cp: cannot create regular file `/home/itadmin/temp4./default/error/error.1315029600.gz': No such file or directory
有没有简单的方法来消除'.'从文件路径,同时仍然尽可能接近现在编写的方式使用上述命令?
最佳答案
您可以像这样在 cp
的一次调用中复制所有文件:
$ find . -name '*.gz' -exec cp --target-directory=/home/itadmin/temp4 {} +
或者只需在原始命令中添加一个斜杠:
/usr/local/apache2.2/logs$ find . -name '*.gz' -exec cp {} /home/itadmin/temp4/{} \;
关于linux - bash 找到前导 '.' 的返回路径如何从返回字符串中删除这个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7336598/