我想查找所有以 file.one.ext 结尾的文件并将它们重命名为 file.ext
我已经设法做到了这一点,但是它会将文件移动到工作目录,而不是找到该文件的目录。
find . -name "file.one.ext" -exec bash -c 'mv "$0" "file.ext"' {} \;
$0 包含完整路径和文件名,但我如何获取该目录并将其附加到新文件名。
如果这样更方便的话,我也rename
安装了。我在 macOS Sierra 上。
答案1
如何重命名目录中的文件?
你唯一缺少的是dirname
从命令:
find . -name "file.one.ext" -exec bash -c 'mv "$0" "$(dirname $0)/file.ext"' {} \;
例子
mkdir test1 test2
touch test1/file.one.ext test2/file.one.ext
find . -name "file.one.ext" -exec bash -c 'mv "$0" "$(dirname $0)/file.ext"' {} \;
ls test1/ test2/
test1/:
file.ext
test2/:
file.ext