if [ -f /etc/syslog.conf ];     #判断文件是否存在
then
systest=`sed -n  '/^auth.info/p' /etc/syslog.conf`;    #匹配/etc/syslog.conf文件中是否有auto.info字符串,并返回字符串,systest变量接收。
if [ -n \"\$systest\" ];                                               #判断字符串是否存在
then
sed -e 's/^auth.info.*/auth.info        \\/var\\/adm\\/authlog/g' /etc/syslog.conf > config.tmp && mv config.tmp /etc/syslog.conf;  #存在则替换
else
awk '{print \$0} END{print \"auth.info        /var/adm/authlog\"}' /etc/syslog.conf > config.tmp && mv config.tmp /etc/syslog.conf; #不存在则在最后一行添加,solaris系统下不支持sed -i时使用。

sed -i '\$a auth.infos    /var/adm/authlogs' /etc/syslog.conf;      #不存在则在最后一行添加。 redhat,suse
fi;                                                                              #第一个内层判断结束
syserr=`sed -n  '/^*.err;auth.info/p' /etc/syslog.conf`;
if [ -n \"\$syserr\" ];
then
sed -e 's/^*.err;auth.info.*/*.err;auth.info        \@${loghost}/g' /etc/syslog.conf > config.tmp && mv config.tmp /etc/syslog.conf;
else
awk '{print \$0} END{print \"*.err;auth.info        \@${loghost}\"}' /etc/syslog.conf > config.tmp && mv config.tmp /etc/syslog.conf;
fi;                                                                         #第二个内层判断结束
fi;                                                                      
if [ -f /var/adm/authlog ];
then
echo \"\/var\/adm\/authlog exist.\";
else
touch /var/adm/authlog;                                #创建文件
chown root:system /var/adm/authlog;             #赋权
chmod 600 /var/adm/authlog;                         #赋权
echo \"create file /var/adm/authlog.\";
fi;";

sed 命令及shell的if语句的运用实例的更多相关文章

  1. 使用 sed 命令查找和替换文件中的字符串的 16 个示例

    当你在使用文本文件时,很可能需要查找和替换文件中的字符串.sed 命令主要用于替换一个文件中的文本.在 Linux 中这可以通过使用 sed 命令和 awk 命令来完成. 在本教程中,我们将告诉你使用 ...

  2. shell脚本测试变量是否为空,测试文件是否存在,sed修改配置文件参数,分支语句

    Shell脚本 1. 基本的几个变量 使用$?获取最近一次的执行结果: 使用$#获取传递的参数个数,类似C语言中的int argc; 使用$@获取所有的传参,类似C语言的char **argv 2. ...

  3. [shell基础]——sed命令

    关于sed sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓 ...

  4. Shell之sed命令

    sed用于一次性处理所有的编辑任务,尤为高效,为用户节省了大量的时间,sed适用于以下三种场合: 1.编辑相对交互文本编辑器而言太大的文件: 2.编辑命令太复杂,在交互式文本编辑器中难以输入的情况: ...

  5. sed命令详解 vim高级技巧 shell编程上

    第1章 sed命令详解 1.1 查找固定的某一行 1.1.1 awk命令方法 [root@znix ~]# awk '!/oldboy/' person.txt 102,zhangyao,CTO 10 ...

  6. shell的sed命令

    sed命令用于在线编辑文本,它一次处理一行内容. 命令语法: sed [-n/e/f/r/i] [cmd] [InFile] 参数解释: 选项与参数: -n: quiet/silent,安静模式,经过 ...

  7. 在shell中使用sed命令替换/为\/

    sed命令相关: https://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856901.html https://www.cnblogs.com/D ...

  8. shell的奇淫巧技--自动化脚本(sed命令)

    使用场景:前段时间交易所项目需要在服务器上用到 根据websocket推送价格数据,在交易所内进行下单撤单处理,但是由于有多个交易对,在服务器上部署时候,略显繁琐.(撮合引擎同样有此问题,可以一并解决 ...

  9. Linux shell sed命令使用

    Linux处理文本文件的工具:     grep        过滤文件内容     sed            编辑文件内容     awk             正则表达式Regex      ...

随机推荐

  1. 关于MySQL中的left join、on、where的一点深入

    原文地址:http://www.oschina.net/question/89964_65912?sort=default&p=3#answers 即使你认为自己已对 MySQL 的 LEFT ...

  2. javaweb--下载文件列出

    //ListFileServlet.java package cn.itcast.web.servlet; import java.io.File;import java.io.IOException ...

  3. 关于Oracle10G在库内导数据时,用到的更新语句----ZT

    两种方法:     -- 方法1. UPDATE  表2 SET   表2.C  =  (SELECT  B  FROM  表1  WHERE   表1.A = 表2.A) WHERE   EXIST ...

  4. [GodLove]Wine93 Tarining Round #3

    比赛链接: http://acm.hust.edu.cn/vjudge/contest/view.action?cid=44857#overview 题目来源: ZOJ Monthly, July 2 ...

  5. 解决eclipse spring配置报错:cvc-elt.1: Cannot find the declaration of element

    解决eclipse spring配置报错:cvc-elt.1: Cannot find the declaration of element 'beans'.Referenced file conta ...

  6. JS URL参数传递 谷歌乱码解决

    //第一个页面 var name=encodeURIComponent("参数"); var url="test1.html?name="+name; //第二 ...

  7. 2015GitWebRTC编译实录16

    新问题,看应该是视频编解码那里出问题了.找找看.WebRtc VoiceEngine codecs:ISAC/16000/1 (103)ISAC/32000/1 (104)Unexpected cod ...

  8. 【 D3.js 入门系列 --- 5 】 如何添加坐标轴

    第3节中做了一个图标,但没有为它添加一个相应的坐标轴,这样不知道每一个柱形到底有多长.这一节做一个坐标轴. D3中的坐标轴都是以 svg 图的形式出现的,这也是为什么在第3节中要使用 svg 的方法做 ...

  9. 判断JS是否加载完成

    在正常的加载过程中,js的加载都是同步的,也就是在加载过程中,浏览器会阻塞接下来的内容的加载.这时候我们就要用到动态加载,动态加载是异步的,如果我们在后边要用到这个动态加载的js文件里的东西,就要保证 ...

  10. 《JavaScript面向对象编程指南》译者序

    相对于Perl.Python等动态脚本语言来说,JavaScript确实是一门饱受误解的语言.对于译者这种从20世纪90年代末走过来的C++程序员来说,尤其如此.在那个年代,提起JavaScript总 ...