如何重命名目录中的文件,例如以下文件:PMC21375.pdf.txt
,我需要重命名为 21375.txt
. 即,我需要从每个文件名中删除PMC
和pdf
。
我有一个包含 .MP3 文件的目录,我想将其扩展名更改为 .mp3。什么是最简单的方法来做到这一点?我在想一些事情:
find /RootPath -type f -iname "*.mp3" -exec mv {} sed s/.*MP3/\1.mp3/ \;
Run Code Online (Sandbox Code Playgroud)
……虽然我知道这不太对。:) 替换不正确,我不确定如何在 in 中使用 amv
和sed
命令。-exec
find
我需要一个 bash 脚本吗?
在一个目录中有这些文件和更多:
每个file1都应该用newfile替换:
我试过了:
for f in $(ls file1*); do mv $f newfile*; done
Run Code Online (Sandbox Code Playgroud)
这确实将所有带有file1 的文件替换为一个文件newfile*。
for f in $(ls file1*); do mv $f ${f/$f/"newfile"}; done
Run Code Online (Sandbox Code Playgroud)
这也将所有带有file1 的文件替换为一个文件newfile。或者
find . -name "file1.*" -exec sh -c 'mv I DONT KNOW' _ {} \;
Run Code Online (Sandbox Code Playgroud)
我不明白如何将文件名的一部分设置为变量并替换它。
使用 mv 执行此操作的最简单方法是什么?