2011-12-19 164 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

相关问题