Den*_*ves 4 command-line bash rename batch-rename
假设我的文件夹中有这些文件:
cat.txt
dog.txt
house.txt
tree.txt
Run Code Online (Sandbox Code Playgroud)
我想将它们全部重命名为这样的:
file1.txt
file2.txt
file3.txt
file4.txt
Run Code Online (Sandbox Code Playgroud)
这可以通过命令行完成吗?
我只看到有关重命名具有某种模式的文件的问题,例如 rename dog1.txt、dog2.txt-> cat1.txt、cat2.txt.
使用rename实用程序来做到这一点:
rename -n '$_ = sprintf "file%d.txt", ++$::count' *
Run Code Online (Sandbox Code Playgroud)
-n使命令显示如果运行它会发生什么。如果输出是你想要的,运行它而不-n实际重命名文件。*你想要重命名,例如什么:dog*.txt仅重命名dog1.txt,dog2.txt......对file1.txt,file2.txt等等。$_ 是我们应该修改的默认输入(文件名)。=我们正在修改它sprintf我们定义开始由一个模式file之后%d手段号和结束的.txt。++$::count,这是每次重命名后迭代的简单计数器。这个想法来自这里。