regex - 在Linux上重命名多个文件

标签 regex linux command-line rename

所以我有一个文件夹,其中有几个文件,命名如下:

name_file_00000.jpg  
name_file_00001.jpg  
name_file_00002.jpg  
name_file_00003.jpg  
...  
name_file_00080.jpg

我想像这样重命名这个文件:

name_file_00000.jpg ==> name_file_00001.jpg  
name_file_00001.jpg ==> name_file_00002.jpg  
name_file_00002.jpg ==> name_file_00003.jpg  
...  
name_file_00080.jpg ==> name_file_00081.jpg

如何在 Linux 中使用单个命令来完成此操作?

最佳答案

试试这个:一个简单的 for 循环,从 80 循环到 00 并使用 mv 命令。 它必须向后循环,因为您无法将 file_name_00000.jpg 重命名为 file_name_00001.jpg,而 file_name_00001.jpg 尚未重命名。

for i in `seq -sw 0 80`; do mv "file_name_000$i.jpg file_name_000$[i+1].jpg"; done

关于regex - 在Linux上重命名多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50362437/

相关文章:

regex - 从 R 中的字符串中删除反斜杠

php - 检查字符串是否以特定单词开头,如果是则拆分

ruby-on-rails - 使用正则表达式验证 URL/域? ( rails )

linux - 将命令输出的一部分分配给 bash 中的变量?

Php system()/exec() 不返回输出

java - 我是否用这个 token 替换代码重新发明了轮子?

c - 是否可以使用 ALSA 同时捕获麦克风和线路输入?

python - 如何以列表形式获取代码的输出?

unix - 从文件中查找与另一个文件 unix 不匹配的模式列表

android - 使用 zip 时保持一些文件未压缩