sed 命令及shell的if语句的运用实例
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语句的运用实例的更多相关文章
- 使用 sed 命令查找和替换文件中的字符串的 16 个示例
当你在使用文本文件时,很可能需要查找和替换文件中的字符串.sed 命令主要用于替换一个文件中的文本.在 Linux 中这可以通过使用 sed 命令和 awk 命令来完成. 在本教程中,我们将告诉你使用 ...
- shell脚本测试变量是否为空,测试文件是否存在,sed修改配置文件参数,分支语句
Shell脚本 1. 基本的几个变量 使用$?获取最近一次的执行结果: 使用$#获取传递的参数个数,类似C语言中的int argc; 使用$@获取所有的传参,类似C语言的char **argv 2. ...
- [shell基础]——sed命令
关于sed sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓 ...
- Shell之sed命令
sed用于一次性处理所有的编辑任务,尤为高效,为用户节省了大量的时间,sed适用于以下三种场合: 1.编辑相对交互文本编辑器而言太大的文件: 2.编辑命令太复杂,在交互式文本编辑器中难以输入的情况: ...
- sed命令详解 vim高级技巧 shell编程上
第1章 sed命令详解 1.1 查找固定的某一行 1.1.1 awk命令方法 [root@znix ~]# awk '!/oldboy/' person.txt 102,zhangyao,CTO 10 ...
- shell的sed命令
sed命令用于在线编辑文本,它一次处理一行内容. 命令语法: sed [-n/e/f/r/i] [cmd] [InFile] 参数解释: 选项与参数: -n: quiet/silent,安静模式,经过 ...
- 在shell中使用sed命令替换/为\/
sed命令相关: https://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856901.html https://www.cnblogs.com/D ...
- shell的奇淫巧技--自动化脚本(sed命令)
使用场景:前段时间交易所项目需要在服务器上用到 根据websocket推送价格数据,在交易所内进行下单撤单处理,但是由于有多个交易对,在服务器上部署时候,略显繁琐.(撮合引擎同样有此问题,可以一并解决 ...
- Linux shell sed命令使用
Linux处理文本文件的工具: grep 过滤文件内容 sed 编辑文件内容 awk 正则表达式Regex ...
随机推荐
- 关于MySQL中的left join、on、where的一点深入
原文地址:http://www.oschina.net/question/89964_65912?sort=default&p=3#answers 即使你认为自己已对 MySQL 的 LEFT ...
- javaweb--下载文件列出
//ListFileServlet.java package cn.itcast.web.servlet; import java.io.File;import java.io.IOException ...
- 关于Oracle10G在库内导数据时,用到的更新语句----ZT
两种方法: -- 方法1. UPDATE 表2 SET 表2.C = (SELECT B FROM 表1 WHERE 表1.A = 表2.A) WHERE EXIST ...
- [GodLove]Wine93 Tarining Round #3
比赛链接: http://acm.hust.edu.cn/vjudge/contest/view.action?cid=44857#overview 题目来源: ZOJ Monthly, July 2 ...
- 解决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 ...
- JS URL参数传递 谷歌乱码解决
//第一个页面 var name=encodeURIComponent("参数"); var url="test1.html?name="+name; //第二 ...
- 2015GitWebRTC编译实录16
新问题,看应该是视频编解码那里出问题了.找找看.WebRtc VoiceEngine codecs:ISAC/16000/1 (103)ISAC/32000/1 (104)Unexpected cod ...
- 【 D3.js 入门系列 --- 5 】 如何添加坐标轴
第3节中做了一个图标,但没有为它添加一个相应的坐标轴,这样不知道每一个柱形到底有多长.这一节做一个坐标轴. D3中的坐标轴都是以 svg 图的形式出现的,这也是为什么在第3节中要使用 svg 的方法做 ...
- 判断JS是否加载完成
在正常的加载过程中,js的加载都是同步的,也就是在加载过程中,浏览器会阻塞接下来的内容的加载.这时候我们就要用到动态加载,动态加载是异步的,如果我们在后边要用到这个动态加载的js文件里的东西,就要保证 ...
- 《JavaScript面向对象编程指南》译者序
相对于Perl.Python等动态脚本语言来说,JavaScript确实是一门饱受误解的语言.对于译者这种从20世纪90年代末走过来的C++程序员来说,尤其如此.在那个年代,提起JavaScript总 ...