zoukankan      html  css  js  c++  java
  • shell 批量修改指定的文件。

     shell 批量修改指定的文件。
    1. Batch_modify_file_list.sh
    2. #!/bin/sh
    3. if [ -f modify_temp_file_list ];then                            #判断文件是否存
    4. 在,如果存在就删除掉。
    5.     rm modify_temp_file_list
    6. fi
    7. for i in `awk '{print $1}' <modify_file_list`
    8. do
    9.     echo $i >modify_temp_value                                  #Create Temp value is use save value
    10.     filename=`awk -F'|' '{print $1}' <modify_temp_value`        #取出第一个值,从modify_temp_value文件里。
    11.     oldip=`awk -F'|' '{print $2}' <modify_temp_value`           #取出第二个值。
    12.     newip=`awk -F'|' '{print $3}' <modify_temp_value`           #取出第三个值。
    13.     echo $filename.bak >> modify_temp_file_list                 #将改完名后的文件存放到一个临时文件里面。
    14.     echo "=========开始修改: $filename 文件=`date '+%Y-%m-%d %H:%M:%S'`=="
    15.     echo "=========开始修改: $filename 文件=`date '+%Y-%m-%d %H:%M:%S'`==" >> modify_file_list.log
    16.         #下面这行代码就是修改文件内容。
    17.         tr -s "$oldip" "$newip" <$filename >$filename.out && mv $filename $filename.bak && mv $filename.out $filename
    18.         if [ $? -eq "0" ];then                                  #判断修改内容是否成功。
    19.             echo "文件名 $filename 修改成功.."
    20.             echo "文件名 $filename 修改成功.." >> modify_file_list.log
    21.             echo "修改前内容: $oldip ;修改后的内容: $newip"
    22.             echo "修改前内容: $oldip ;修改后的内容: $newip" >> modify_file_list.log
    23.         else
    24.             echo "修改文件 $filename 失败。"
    25.             echo "修改文件 $filename 失败。" >> modify_file_list.log
    26.         fi
    27.     echo "=========$filename 文件修改结束=`date '+%Y-%m-%d %H:%M:%S'`=="
    28.     echo "=========$filename 文件修改结束=`date '+%Y-%m-%d %H:%M:%S'`==" >> modify_file_list.log
    29. done
    30. rm modify_temp_value                                            #删除 modify_temp_value 文件。
    31. tar cvf `date '+%Y-%m-%d_%H:%M:%S'`.cfg.tar -I modify_temp_file_list    #文件进行打包。
    32. for tempfilename in `awk '{print $1}' <modify_temp_file_list`           #删除 .bak的文件。
    33. do
    34.     rm $tempfilename
    35. done
    36. rm modify_temp_file_list                                        #删除 modify_temp_file_list 文件
    modify_file_list里的内容如下:
    1. /export/home/test/study/filename1|192.168.1.1|192.168.1.7
    2. /export/home/test/study/filename2|192.168.1.1|192.168.1.7
    3. /export/home/test/study/filename3|192.168.1.1|192.168.1.7
    4. /export/home/test/study/filename4|192.168.1.1|192.168.1.7
    5. /export/home/test/study/filename5|oldString|newString

  • 相关阅读:
    信息的封装和隐藏
    力扣 20. 有效的括号
    servlet执行原理
    当请求一个Servlet时,后台如何运作?
    req.getAttribute 和 req.getParameter
    Servlet 实现登录页面,并在条件下跳转
    request.getRequestDispatcher(a.jsp).forward(request,response)和response.sendRedirect的差别
    通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“Connection refused: connect。请验证连接属性,并检查 SQL Server 的实例正在
    Cocos2d-x 3.0 精灵帧缓存(SpriteFrameCache)
    lua 中处理cocos2dx 的button 事件
  • 原文地址:https://www.cnblogs.com/xiaotuni/p/2365696.html
Copyright © 2011-2022 走看看