2016-07-28 74 views
0

我想重命名當前目錄中的所有文件。所以現在它們的格式是:「xxx-9666_01.so」,我想將它重命名爲「xxx_9444_01.so」。我如何在Linux中執行此操作?如何重命名linux中當前目錄中的所有文件

+0

你應該解釋的那種放在fab你想在文件名中進行改變,例如,如果在文件名中遇到'9666',你是否真的只想成爲'9444'?我不認爲這就是你想要的。 – fvu

+0

[根據模式在Linux中重命名大量文件]可能的副本(http://stackoverflow.com/questions/6316600/renaming-lots-of-files-in-linux-according-to-a-pattern) – larsks

+0

@fvu是的只是 – Arshad

回答

0

使用循環:

for f in *-9666_01.so; do 
    echo mv "$f" "${f%-9666_01.so}_9444_01.so" 
done 

取出echo當你確定它做你想要它做的事情。

0

使用參數擴展子替換(相對於子去除)以前的答案的變化可完成相同的目標,並且可能有點更可讀:

for f in *-9666_01.so; do 
    echo mv "$f" "${f/-9666/-9444}" 
done 

(刪除echo當您滿意的操作)

(其中子串替換將重新使用表單${f/a/b}(收盤/隱含)與b,或${f//a/b}更換的a第一實例與b更換a所有實例)

相關問題