file1 file2的文本对比 逐行
#!/bin/bash
list=`cat $file1`
for line in `cat $file2`
do
array=(${line//,/}) #字符串逗号分隔
name=${array[0]} #获取数组第一个元素
if [[ $name == mac_* ]] #该元素是否是以mac_开头
then
if [[ ! "${list}[@]"] =~ $name ]] ; then #file1是否包含该字符串
echo $name//打印
fi
fi
done
批量更改某个路径下的文件名
function modeFileName(){
for file in $1/*
do
echo "$file"
if [[ $file =~ " " ]]#判断文件名是否包含空格
then
continue
fi
if [ -f "$file" ]
then
if [[ "$file" == *PonyIW* ]]#文件名是否包含该字符串
then
`rename "s/PonyIW/Kang/" "$file"`#文件名特殊字符串替换
fi
else
if [ "`ls -A $file`" != "" ]#空目录不操作
then
modeFileName "$file"
fi
fi
done
}
批量修改文件里的字符串,替换为新的字符串
function modeCharaName(){
for file in $1/*
do
echo "$file"
if [[ $file =~ " " ]]#判断文件名是否包含空格
then
continue
fi
if test -f $file
then
sed -i "" "s/PonyIW/Kang/g" $file #将PonyIW替换为Kang
else
if [ "`ls -A $file`" != "" ]#判断是否是空目录 空目录不操作
then
modeCharaName "$file"
fi
fi
done
}
修改文件名
function modeFolderName(){
for file in $1/*
do
echo $file
if test -d $file
then
mv $file ${file/a/b}#文件重命名
fi
done
}
function modeFolderName2(){
for file in $1/*
do
echo $file
if test -d $file
then
mv $file ${file%+1*}#文件名截取'+1'左边的字符串
fi
done
}
浙公网安备 33010602011771号