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
}
