一次批量重命名文件和文件夹

发布于 2024-12-12 01:15:10 字数 379 浏览 0 评论 0原文

我得到了有关以下问题的帮助: 批量重命名具有完整 ID 的文件

这是如何重命名特定文件的一个很好的示例在一个组中,但我想知道是否有一个类似的脚本可以用来执行以下操作:

  1. 我在根目录中有一组嵌套文件夹和文件,其中包含 [myprefix_foldername] 和[myprefix_filename.ext]
  2. 我想将所有文件夹和文件重命名为 [foldername] 和 [filename.ext]

我可以使用与上面帖子中类似的方法吗?

谢谢! 杰姆

I got help regarding the following question:
batch rename files with ids intact

It's a great example of how to rename specific files in a group, but I am wondering if there is a similar script I could use to do the following:

  1. I have a group of nested folders and files within a root directory that contain [myprefix_foldername] and [myprefix_filename.ext]
  2. I would like to rename all of the folders and files to [foldername] and [filename.ext]

Can I use a similar methodology to what is found in the post above?

Thanks!
jml

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

記憶穿過時間隧道 2024-12-19 01:15:10

是的,非常容易,使用find

find rootDir -name "myprefix_*"

这将为您提供 rootDir 中以 myprefix_ 开头的所有文件和文件夹的列表。从那里,可以快速跳转到批量重命名:

find rootDir -name "myprefix_*" | while read f
do
  echo "Moving $f to ${f/myprefix_/}"
  mv "$f" "${f/myprefix_/}"
done

编辑: IFS 添加每个 http://www.cyberciti.biz/tips/handling-filenames-with-spaces-in-bash.html

编辑2: IFS 被删除,以支持 while read

编辑 3: 正如 bos 指出的,如果您的情况,您可能需要将 while read f 更改为 while read -d $'\n' f Bash 版本仍然不喜欢它。

Yes, quite easily, with find.

find rootDir -name "myprefix_*"

This will give you a list of all files and folders in rootDir that start with myprefix_. From there, it's a short jump to a batch rename:

find rootDir -name "myprefix_*" | while read f
do
  echo "Moving $f to ${f/myprefix_/}"
  mv "$f" "${f/myprefix_/}"
done

EDIT: IFS added per http://www.cyberciti.biz/tips/handling-filenames-with-spaces-in-bash.html

EDIT 2: IFS removed in favor of while read.

EDIT 3: As bos points out, you may need to change while read f to while read -d $'\n' f if your version of Bash still doesn't like it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文