2017-01-26 48 views
0

我是Linux和命令行的新手。我試圖重命名一個目錄(anotherExampleDOM)中的所有文件,以便它們僅附加'_2'。通過CLI修改目錄中的所有文件名 - Ubuntu

E.g. 'myFile.txt'將變成'myFile_2.txt'

這些文件不會全部共享相同的擴展名。我已經調查了與Perl的正則表達式結合使用'重命名'命令,但找不到我嘗試獲得的任何示例。我也嘗試使用for循環,如下所示,但在意外標記'do'附近收到了bash語法錯誤。

$ for FILENAME in /home/tnargi/Documents/anotherExampleDOM/*; do mv $FILENAME $FILENAME_2; done 

我確信這不會是一件難事,但我沒有得到任何地方。任何幫助,將不勝感激。讓我知道是否需要更多信息。謝謝。

回答

0

試試這個:

for FILENAME in /home/tnargi/Documents/anotherExampleDOM/*; do mv $FILENAME `basename $FILENAME .txt`_2.txt; done 
+0

你能解釋一下這是如何回答這個問題? – soundslikeodd

+0

不幸的是,這隻適用於已經具有'.txt'擴展名的文件,對於其他文件,除了之前的擴展名之外,它還向文件名添加'_2.txt'。 即exampleFile.xml正在變成exampleFile.xml_2.txt(而不是exampleFile_2.xml) – TNARGI

+0

這是因爲你不把* .txt放在find命令中 – Molinero

相關問題