我要复制并重命名与此模式匹配的文件夹中的所有文件:
测试.mp4.small.mp4
测试2.mp4.small.mp4
测试3.mp4.small.mp4
所有文件都以.mp4.small.mp4
结尾。
我想将它们复制到一个新文件夹并重命名它们-结果应该是:
测试.mp4
测试2.mp4
测试3.mp4
尝试:
find . -name '*.mp4.small.mp4' -exec bash -c 'echo cp $0 ${0/PATH/}' {} \;
但这并不能重命名它。
最佳答案
使用参数扩展语法删除语法.
中从开始到分隔符${word%string}
的最短字符串
find . -name '*.mp4.small.mp4' -exec bash -c 'echo cp $0 ${0%.mp4.small.mp4}.mp4' {} \;
另外,我假设您故意添加了
echo
来解决重命名字符串的外观问题。若要实际复制文件,请将其放到最终命令中。关于linux - 删除多个文件中的通用字符串并复制它们,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48440651/