Closed. This question is off-topic。它当前不接受答案。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
7年前关闭。
我有许多文件,例如file_022.bmp,file_023.bmp ... file_0680.bmp。我需要将它们重命名为更方便的名称,例如file_1.bmp,file_2.bmp ... file_658.bmp。
我可以编写一个bash脚本来为我做这件事吗?感谢您的帮助和建议。
路加
假设我想将扩展名更改为.perl并在名称前加上file_
然后我使用命令:
会给
我选择并捕获基本文件名
-n选项使它无需更改就可以测试运行
从该示例中可以看到,您需要正确地考虑选择的正则表达式,否则您会遇到类似上述preg_based.php的情况,而您需要file_preg_based.perl :)
为了弥补我在这里需要使用
这是我一直坚持使用debian的众多原因之一,尽管如此,我还是想找到与其他非debian系统相同的东西:
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
7年前关闭。
我有许多文件,例如file_022.bmp,file_023.bmp ... file_0680.bmp。我需要将它们重命名为更方便的名称,例如file_1.bmp,file_2.bmp ... file_658.bmp。
我可以编写一个bash脚本来为我做这件事吗?感谢您的帮助和建议。
路加
最佳答案
如果您使用的是基于debian的linux系统,则可以使用接受regular expressions的重命名脚本来重命名文件。更多info,因为我很难找到手册页。
例如
harald@Midians_Gate:~$ ls p*.php
parse.php pd.php pgrep.php preg_based.php proc.php
假设我想将扩展名更改为.perl并在名称前加上file_
然后我使用命令:
rename -n 's/([a-z]*)\.php/file_$1.perl/' p*.php
会给
parse.php renamed as file_parse.perl
pd.php renamed as file_pd.perl
pgrep.php renamed as file_pgrep.perl
preg_based.php renamed as preg_file_based.perl
proc.php renamed as file_proc.perl
我选择并捕获基本文件名
([a-z]*)
,然后在替代文件$1
中使用它并追加.perl
,并在$ 1前面加上常规字符串file_
-n选项使它无需更改就可以测试运行
从该示例中可以看到,您需要正确地考虑选择的正则表达式,否则您会遇到类似上述preg_based.php的情况,而您需要file_preg_based.perl :)
为了弥补我在这里需要使用
([a-z_]*)
这是我一直坚持使用debian的众多原因之一,尽管如此,我还是想找到与其他非debian系统相同的东西:
关于linux - 在Linux中重命名多个文件 shell ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11108735/
10-15 21:50