如何重命名多个文件夹中的多个文件?

电视节目组

我想重命名几个文件夹中的所有文件,文件名包含 '*file*' '*doc*'。我试过了

find . -name "*file*" -exec mv {} `echo {} | sed "s/file/doc/"` \;

但出现错误(见下文)。

~$ ls
my_file_1.txt  my_file_2.txt  my_file_3.txt

~$ find . -name "*file*"
./my_file_1.txt
./my_file_3.txt
./my_file_2.txt

~$ echo my_file_1.txt | sed "s/file/doc/"
my_doc_1.txt

~$ find . -name "*file*" -exec echo {} \;
./my_file_1.txt
./my_file_3.txt
./my_file_2.txt

~$ find . -name "*file*" -exec mv {} `echo {} | sed "s/file/doc/"` \;
mv: './my_file_1.txt' and './my_file_1.txt' are the same file
mv: './my_file_3.txt' and './my_file_3.txt' are the same file
mv: './my_file_2.txt' and './my_file_2.txt' are the same file

非常感谢您的帮助!

埃塞克斯男孩

有一千种方法可以做到,我会用 Perl 来做,这样的事情会起作用:

find files -type f -name "file*" | perl -ne 'chomp; $f=$_; $f=~s/\/file/\/doc/; `mv $_  $f`;'
  • -ne 处理每一行输入的内联脚本
  • chomp 清理换行符
  • $f 是新文件名,与旧文件名相同
  • s/\/file/\/doc/ 将新文件名中的“/file”替换为“/doc”
  • mv $_ $f 通过运行带有反勾号的操作系统命令来重命名文件

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用一个命令重命名多个文件夹中的多个文件

如何使用累进编号重命名多个文件夹?

重命名多个csv文件夹中的csv列

如何以特定格式重命名文件夹中的多个文件?

如何从父文件夹重命名powershell中的多个文件?

如何使用 python 和 pandas 重命名子文件夹中的多个 .Json 文件

在文件夹,子文件夹和多个文件中递归查找和重命名

如何在不重命名目录的情况下重命名多个文件夹中的文件?

在PowerShell中批量重命名多个文件夹中的多个文件

重命名多个文件夹中的多个文件名

使用python重命名多个子文件夹中的多个文件

如何批量重命名多个文件夹中的多个文件并将它们合并到一个大文件夹中?

使用 R 中的函数从多个文件夹中复制相同的文件并根据文件夹结构重命名文件

编写批处理文件以重命名多个文件夹中的文件

根据列表重命名多个文件夹

如何重命名多个文件名包含子文件夹?

如何使用批处理脚本重命名多个文件夹和子文件?

如何将多个文件移动并重命名到特定文件夹?

如何重命名多个文件夹,同时保留其文件子目录

需要通过 VBScript 重命名特定文件夹中的多个文件

重命名文件夹中的多个文件,添加前缀(Windows)

重命名并删除_之前的每个字符,以删除文件夹中的多个文件

使用脚本任务重命名文件夹中的多个 .docx 文件

如何使用批处理脚本重命名在该文件夹中具有一定数量文件的多个文件夹?

如何将图像从多个子文件夹复制到公共文件夹并重命名?

如何重命名Unix中的多个文件

如何使用python将放在多个嵌套文件夹中的文档移动并重命名为新的单个文件夹?

重命名文件夹中的文件

重命名文件夹中的文件