gpt4 book ai didi

linux - bash 找到前导 '.' 的返回路径如何从返回字符串中删除这个字符?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:00:11 26 4
gpt4 key购买 nike

我正在 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com