2011-12-19 86 views

回答

3

。假定bash中,你做這種方式

file1="first file.txt" 
file2="second file.html" 

mv "$file1" "${file2%.*}.${file1##*.}" 
+0

問題是我不知道前面兩個文件的名字 – Francesco 2011-12-20 06:38:23

+0

@Francesco:那應該沒關係。您必須能夠以某種方式將名稱放入變量中,對嗎?或者,你怎麼得到這些名字? – Sorpigal 2011-12-20 11:33:07

+0

我使用這樣的「* .avi」。這可以適應變量嗎? – Francesco 2011-12-21 09:10:23

0

這裏有一個簡單的腳本寫在bash:

name="${2%.*}" 
ext="${1##*.}" 
filename="$name.$ext" 
mv "$1" "$filename" 

的第一個參數是要重命名的文件,並第二次運行它參數作爲文件名與您想要使用的名稱。例如。

./script foobar.txt foo.bar 

將重命名文件foobar.txt

+0

這將在包含空格的文件名上失敗。引用你的變量擴展。 – Sorpigal 2011-12-20 11:33:57

相關問題