这是我的bash代码:
mv ./foo*foo2*foo3*.foo3 ./foo*.foo3
使用./foo*foo2*foo3*.foo3
命令重命名文件时,如何从mv
引用第二个通配符?
对不起,如果这听起来很愚蠢,但我无法在任何地方找到答案。也许我使用了错误的术语?如果是的话,请告诉我。
答案 0 :(得分:1)
在原始文件所在的目录上尝试以下rename命令。
rename 's/^.*\./foo\*\./' *.foo3
它将foo*foo2*foo3*.foo3
文件重命名为foo*.foo3
答案 1 :(得分:1)
rename
工具就是为了这个:
sh$ touch fooAfoo2Bfoo3C.foo3
sh$ rename -v 's|foo.*foo2(.*)foo3.*\.foo3|foo$1.foo3|' *.foo3
# ^^^^ ^^
# capture the insert
# second "wildcard" ---> here
fooAfoo2Bfoo3C.foo3 renamed as fooB.foo3