0
我有多个文件,如下如何删除文件名中的模式在Unix/Linux操作系统
File1[Pattern].txt
File2[Pattern].txt
File3[Pattern].txt
我想从目录中的所有文件删除[图案]。
最后,文件名应如下所示。
File1.txt
File2.txt
File3.txt
我有多个文件,如下如何删除文件名中的模式在Unix/Linux操作系统
File1[Pattern].txt
File2[Pattern].txt
File3[Pattern].txt
我想从目录中的所有文件删除[图案]。
最后,文件名应如下所示。
File1.txt
File2.txt
File3.txt
随着bash
参数扩展(${f%%\[*\]*}
)以剥离从(第一)开始的部分[
(左起),以及使用mv
重命名:
for f in *.txt; do echo mv -- "$f" "${f%%\[*\]*}".txt; done
echo
掉落为实际动作。
随着rename
(prename
),匹配组1
所述部分第一[
和第二组匹配字面.txt
之前匹配。在替换中,我们只使用了捕获的组:
rename -n 's/^([^[]+)\[[^]]+\](\.txt)$/$1$2/' *.txt
丢弃 - n
实际操作。
你可以举一个[Pattern]的例子吗? –