我在标签末尾有一个标有“(Done)”的目录列表。
例如:“文件夹1(完成)”
我想使用重命名命令从每个目录中删除“(完成)”。因为这是一个特殊字符,所以我使用了转义字符。
rename s/\(Done\)//g *
但是,此命令不起作用。它删除单词“ Done”并留下括号:“ Folder 1()”
\
是Shell语法中的引号运算符,因此:
rename s/\(Done\)//g *
与运行相同:
rename 's/(Done)//g' *
而且(
,)
在Perl的正则表达式语法的特殊字符(其中rename
使用),需要用前缀\
(或改为[(]
和[)]
)所以他们从字面上对待。
因此,在这里,您想要:
rename 's/\s*\(Done\)//g' ./*
在这里还添加\s*
了删除之前的所有空白(Done)
,以及./
一些前缀的前缀,因为的某些变rename
体会使以-
。开头的文件名阻塞。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句