Bash 用下划线重命名文件
Bash rename files with underscore
我有文件名为 CULT_2009_BARRIERS_EXP_Linear.dbf
并想将它们重命名为
CULT_BARRIERS_EXP_Linear.dbf。
这些文件有一个以它们为前缀的日期,该日期在捕获时总是不同。
我试图用正则表达式替换它们。我想测试字符串是否包含数字然后重命名。我用过
if [[ $file =~ [0-9] ]]; then rename -v "s/[0-9]//g" * && rename -v s/[_]_/_/ *;
部分有效。但理想情况下,我希望有一个重命名命令,因为这是一种很好的做法
一个重命名命令就足够了。只需 运行 在实际存储 .def
文件的目录中执行以下命令。
rename -v "s/_[0-9]+//g" *.dbf
[0-9]+
匹配一个或多个数字,其中 [0-9]
匹配单个数字字符。 +
重复前一个标记一次或多次。
我有文件名为 CULT_2009_BARRIERS_EXP_Linear.dbf
并想将它们重命名为
CULT_BARRIERS_EXP_Linear.dbf。
这些文件有一个以它们为前缀的日期,该日期在捕获时总是不同。
我试图用正则表达式替换它们。我想测试字符串是否包含数字然后重命名。我用过
if [[ $file =~ [0-9] ]]; then rename -v "s/[0-9]//g" * && rename -v s/[_]_/_/ *;
部分有效。但理想情况下,我希望有一个重命名命令,因为这是一种很好的做法
一个重命名命令就足够了。只需 运行 在实际存储 .def
文件的目录中执行以下命令。
rename -v "s/_[0-9]+//g" *.dbf
[0-9]+
匹配一个或多个数字,其中 [0-9]
匹配单个数字字符。 +
重复前一个标记一次或多次。