这里主要是用以下两种方法
1. 利用递归查找目录及子目录下的所有pano.xml 文件,然后用命令 cat (该命令有风险,如果脚本中止重新执行,或该目录下存在与备份文件名相同的文件时,不是覆盖该同名文件,而是在原同名文件基础上以追加方式备份)来备份,shell脚本内容如下,并命名为batch_convert.sh
#!/bin/bash
batch_convert()
{
for file in `ls $1`
do
if [ -d $1"/"$file ]
then
batch_convert $1"/"$file
else
echo $1"/"$file
if [ ${file##*/} == "pano.xml" ]
then
echo "This file is XML File !"
cat $1"/"$file >> $1"/"${file%.*}"_bak.xml"
echo $1"/"$file
echo $1"/"${file%.*}"_bak.xml"
else "This file is not xml File !"
fi
fi
done
}
batch_convert ./pano
2.利用递归查找目录及子目录下的所有pano.xml 文件,然后用命令 cp 来备份,shell脚本内容如下,并命名为batch_convert.sh
#!/bin/bash
batch_convert()
{
for file in `ls $1`
do
if [ -d $1"/"$file ]
then
batch_convert $1"/"$file
else
echo $1"/"$file
if [ ${file##*/} == "pano.xml" ]
then
echo "This file is pano XML File !"
cp $1"/"$file $1"/"${file%.*}"_bak1.xml"
echo $1"/"$file
echo $1"/"${file%.*}"_bak1.xml"
else "This file is not pano XML File !"
fi
fi
done
}
batch_convert ./pano
最后选择以上任何一种代码形式后执行如下命令:
chmod +x batch_convert.sh
sh batch_convert.sh