首页 > 技术文章 > Linux批量查找包含字符串的文件

wuyuanguo 2019-06-04 15:21 原文

今天服务器和数据库的密码都更换了,之前开发的shell脚本里有些写死的地方,需要将密码替换掉;

先执行命令把包含旧密码的文件都找到;

find . -type f -name "*.sh"|xargs grep -E 'jcs@|1\&mEAVUX#J'|awk -F ":" '{print $1}'| uniq

其中:grep -E 'jcs@|1\&mEAVUX#J'  或者包含

 然后写脚本批量执行替换命令

#!/bin/bash
###############
  WORK_PATH=$(cd `dirname $0`; pwd)
  cd $WORK_PATH
  filelist=`ls -l *.sh|awk '{print $9}'`
  for file in $filelist
  do
    sed -i 's/cpbd_idea_2017/@iUmW)v4Se/g' $file
    sed -i 's/Swarp@123/1&mEAVUX#J/g' $file
    sed -i 's/jcs@2019/*Zf^aUt$Zb/g' $file
    echo "$(date "+%Y-%m-%d %H:%M:%S"): $file "
    #sleep 5s
  done
  echo "$(date "+%Y-%m-%d %H:%M:%S"): done"

 

推荐阅读