重命名linux函数无法正常工作

时间:2019-11-07 10:50:01

标签: linux rename

我正在尝试通过删除“ tmp”来重命名文件列表。字符串

例如1.tmp.tax.html将变为1.tax.html

(base) [david@archlinux ~]$ ls -ltr test/
total 684
-rw------- 1 david users 229779 Nov  7 11:43 1.tmp.tax.html
-rw------- 1 david users 229779 Nov  7 11:43 2.tmp.tax.html
-rw------- 1 david users 229779 Nov  7 11:43 3.tmp.tax.html


rename 's/tax.//' test/*.html

没有输出消息,没有重命名。怎么了???

(base) [david@archlinux ~]$ rename --version
rename from util-linux 2.34

(base) [david@archlinux ~]$ uname -a
Linux archlinux 5.3.7-arch1-2-ARCH #1 SMP PREEMPT @1572002934 x86_64 GNU/Linux

1 个答案:

答案 0 :(得分:0)

util-linux中的

rename不使用正则表达式替换。

$ rename -h

Usage:
 rename [options] <expression> <replacement> <file>...

所以,就您而言,

rename .tmp. . test/*.html

顺便说一句,在使用其他重命名时,请注意.在正则表达式中是特殊的(它匹配除换行符以外的任何字符)。因此,您的命令将 删除例如taxi也来自文件名。