我正在尝试通过删除“ 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
最佳答案
util-linux中的rename
不使用正则表达式替换。
$ rename -h
Usage:
rename [options] <expression> <replacement> <file>...
所以,就您而言
rename .tmp. . test/*.html
顺便说一句,当使用另一个重命名时,请注意
.
在正则表达式中是特殊的(它匹配换行符以外的任何字符)。因此,您的命令将删除例如也来自文件名的
taxi
。关于linux - 重命名linux函数无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58747135/