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]的例子嗎? –