jmr*_*cha 6 linux command-line ubuntu
我有一个目录(Linux 用户),其中包含许多文件,其中每个文件名的末尾都添加了 [!],以便每个文件读出为:
批量重命名这些文件以从这些文件名中删除结尾 [!] 字符组合的最快方法是什么?
您可以rename像这样使用该工具
rename 's/\ \[\!\]//' *.zip
Run Code Online (Sandbox Code Playgroud)
我建议你首先添加-n开关,这会导致rename只显示它会做什么,而不是重命名任何文件。
rename -n 's/\ \[\!\]//' *.zip
Run Code Online (Sandbox Code Playgroud)
请注意,这只会删除[!]文件名中第一次出现的 ,前提是它前面有一个空格,而不管它是否在文件名的末尾。
的基本语法rename:
rename 's/from/to/' filenames
Run Code Online (Sandbox Code Playgroud)
将替换from为to所有文件名。
这里有一个详细的解释:https : //www.computerhope.com/unix/rename.htm
请注意,有两个rename命令:一个来自 util-linux 包,另一个来自 perl 包。我上面提到的命令是 perl 变体。perl 变体更受欢迎和有用。通常当人们谈论时,rename他们指的是 perl 变体。
在 debian(因此 ubuntu)rename中默认是 perl 变体。/sf/ask/1580443721/
在 arch linux 中rename是 util-linux 变体,而perl-rename在 perl 变体中。https://bbs.archlinux.org/viewtopic.php?id=85128
您可以通过以下方式查看正在使用的版本:
$ rename --version
rename from util-linux 2.30.1
$ perl-rename --version
perl-rename 1.9
Run Code Online (Sandbox Code Playgroud)