这需要在您的 Subversion 存储库中完成,还是仅在本地完成?
如果只是在本地,您可以使用它find
来查找所有文件:
find . -name "*_INT"
这些文件的名称中是否包含空格?如果没有,以下应该有效:
find . -name "*_INT" | while read file
do
mv $file ${file%_INT}
done
它${file%_INT}
使用称为Pattern Matching Operators的 bash/kornshell 机制。这些可以快速过滤掉文件名中的前缀和后缀。例如,如果:
$ file=foo.txt_INT
$ echo $file #Prints "foo.txt_INT"
$ echo ${file%_INT} #Prints "foo.txt"
$ echo ${file#foo} #Prints ".txt_INT"
现在您有了文件的旧名称和新名称,您可以简单地使用该mv
命令。当然,可能已经存在具有该名称的文件。可以被覆盖吗?如果没有,您将不得不弄清楚如何处理它:
find . -name "*_INT" | while read file
do
if [ ! -e $file ]
then
mv $file ${file%_INT}
else
echo "File ${file%_INT} already exists"
fi
done