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
}

  

 

 

  

posted on 2020-06-15 09:37  小丑鱼2012  阅读(1042)  评论(0编辑  收藏  举报