问题:在ip.lt文件中有600个IP,有3个文档模版,三个文档的名称结构都是“ip+一系列字符串”,要求:1.将600个IP分成3分,以三个模版为基础创建600个文档,名字结构与模版相同;2修改600个文档中的time和DNS Server

编程:

#!/bin/bash

num=1

while [ $num -le 600 ]

do

ipaddr=`sed -n "$num"p ip.lt`

if [ $num -le 200 ];then

cp /home/ghost/test/192.168.107.105_66c221be-6ab2-ef53-1589-fe16877914e1_chk.xml ./backup1/"$ipaddr"_66c221be-6ab2-ef53-1589-fe16877914e1_chk.xml

sed -i 's/2014-5-29/2016-8-11/g' ./backup1/"$ipaddr"_66c221be-6ab2-ef53-1589-fe16877914e1_chk.xml

sed -i 's/DNS Servers . . . . . . . . . . . : 172.21.35.146/DNS Servers . . . . . . . . . . . : 8.8.8.8/g' ./backup1/"$ipaddr"_66c221be-6ab2-ef53-1589-fe16877914e1_chk.xml

fi

if [ $num -le 400 -a $num -gt 200 ] ;then

cp /home/ghost/test/192.168.98.102_66c221be-6ab2-ef53-1589-fe16877914e2_chk.xml ./backup2/"$ipaddr"_66c221be-6ab2-ef53-1589-fe16877914e2_chk.xml

sed -i 's/2014-5-31/2016-8-11/g' ./backup2/"$ipaddr"_66c221be-6ab2-ef53-1589-fe16877914e2_chk.xml

sed -i 's/DNS Servers . . . . . . . . . . . : 172.21.48.22/DNS Servers . . . . . . . . . . . : 8.8.8.8/g' ./backup2/"$ipaddr"_66c221be-6ab2-ef53-1589-fe16877914e2_chk.xml

fi

if [ $num -gt 400 ];then

cp /home/ghost/test/192.168.99.67_66c221be-6ab2-ef53-1589-fe16877914e3_chk.xml ./backup3/"$ipaddr"_66c221be-6ab2-ef53-1589-fe16877914e3_chk.xml

sed -i 's/2014-5-31/2016-8-11/g' ./backup3/"$ipaddr"_66c221be-6ab2-ef53-1589-fe16877914e3_chk.xml

sed -i 's/DNS Servers . . . . . . . . . . . : 172.21.35.146/DNS Servers . . . . . . . . . . . : 8.8.8.8/g' ./backup3/"$ipaddr"_66c221be-6ab2-ef53-1589-fe16877914e3_chk.xml

fi

num=$(($num + 1))

done

实验结果:查看backup1,backup2,backup3目录,如图1

                     图1

随机挑选产生的一个文件,查看time和DNS Server,如图2和图3

                    图2

                    图3

我的shell脚本的更多相关文章

  1. 第一个shell脚本

    打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好. #!/bin/bash echo "Hello World !" &quo ...

  2. 使用C#给Linux写Shell脚本

    在这个逼格决定人格,鄙视链盛行的年头,尤其是咱们IT界,请问您今天鄙视与被鄙视的次数分别是多少?如果手中没有一点压箱的本事,那就只有看的份了.今天我们也要提升下自己的格调,学习些脑洞大开的东西,学完之 ...

  3. shell脚本规划化模板

    shell脚本规划化模板 Linux运维过程中,shell脚本是不可缺少的工具,但是每个运维人员编程的习惯都不一样,很多时候就是实现某个功能,写出来的脚本都是烂七八糟的.脚本必须规范化,应该从以后几个 ...

  4. Shell脚本编程30分钟入门

    Shell脚本编程30分钟入门 转载地址: Shell脚本编程30分钟入门 什么是Shell脚本 示例 看个例子吧: #!/bin/sh cd ~ mkdir shell_tut cd shell_t ...

  5. Linux Shell脚本逻辑操作符简介

    在写程序时,会用到条件判断,测试条件是否成立.很多时候,判断条件是多个的,这个时候需要用到逻辑操作符.shell脚本中常用的有哪些逻辑操作符呢? 1.逻辑与: -a 格式: conditon1 -a ...

  6. Linux shell脚本编程(三)

    Linux shell脚本编程 流程控制: 循环语句:for,while,until while循环: while CONDITION; do 循环体 done 进入条件:当CONDITION为“真” ...

  7. Linux shell脚本编程(二)

    Linux shell脚本编程(二) 练习:求100以内所有偶数之和; 使用至少三种方法实现; 示例1: #!/bin/bash # declare -i sum=0 #声明一个变量求和,初始值为0 ...

  8. Linux shell脚本编程(一)

    Linux shell脚本编程: 守护进程,服务进程:启动?开机时自动启动: 交互式进程:shell应用程序 广义:GUI,CLI GUI: CLI: 词法分析:命令,选项,参数 内建命令: 外部命令 ...

  9. 详解Linux交互式shell脚本中创建对话框实例教程_linux服务器

    本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一下. 当你在终端环境下安装新的软件时,你可以经常看到信息 ...

  10. shell 脚本之循环使用 for while 详解

    任何一种编程语言中循环是比不可少的,当然 shell 脚本也少不了循环语句,包括 for 语句. while 语句.文中主要以实际用例来说明 for while 都有哪些常见的使用方法和技巧. 一.f ...

随机推荐

  1. ActiveMQ笔记:管理和监控

    ActiveMQ提供了比较丰富的监控和管理工具.在ActiveMQ的网页里(http://activemq.apache.org/how-can-i-monitor-activemq.html)提到了 ...

  2. 炸!分享美团面试关于selenium的面试题

    个人分类: 软件测试 编辑 在这个互联网技术快速迭代的时代,每个测试员都知道技术对于职业发展的重要性,那些技术好的测试员不仅薪资高,而且大多数集中在一线互联网企业工作,让人感觉非常高大上的同时,也想去 ...

  3. sqli-labs学习笔记 DAY7

    DAY7 sqli-labs阶段总结 基本步骤 判断是否报错 判断闭合符号 判断注入类型 构建payload 手工注入或者编写脚本 基本注入类型 报错型注入 floor公式(结果多出一个1):and ...

  4. QT中的小细节

    一 .  QT4和QT5的区别(信号和槽):1.  QT4: connect(button,SIGNAL(pressed()),this,SLOT(close())); /** * 优点 :写法简单 ...

  5. Bootstrap学习--基本格式

    以下为Bootstrap的基本格式代码 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta ...

  6. umount命令详解

    基础命令学习目录首页                                    umount 用来卸载设备 -a:卸除/etc/mtab中记录的所有文件系统: -h:显示帮助: -n:卸除 ...

  7. JS进阶系列之原型、原型链

    最近在看 JavaScript忍者秘籍 这本书的时候,再加上最近遇到的关于原型.原型链的面试题,所以萌生了要把这些知识梳理一遍的想法,所以以下是我自己对原型.原型链的看法 什么是原型 提到原型,我们可 ...

  8. web153

    电影网站:www.aikan66.com 项目网站:www.aikan66.com 游戏网站:www.aikan66.com 图片网站:www.aikan66.com 书籍网站:www.aikan66 ...

  9. Spring笔记⑤--整合hibernate代码测试

    String整合hibernate代码测试 在上节生成的表中插入数据:   注意:使用myeclipse2014生成的整合项目可能存在问题需要我们自己导入.   第一步 我们写dao接口 packag ...

  10. 利用Hibernate子查询(in) 得到部分字段(实体类的构造函数)

    感人= = 终于弄好了 String hql="select new Shop(s.strid,s.shopname,s.tradearea,s.discountinfo,s.beginti ...