SHELL用法七(Sed语句)
1、SHELL编程Sed语句案例实战
sed s/jfedu/root/g list.txt sed 's#jfedu#root#g' list.txt sed -i 's#jfedu#root#g' list.txt sed -e '3s/2/100/g' -e '4s/3/100/g' list.txt sed '3s/2/100/g;4s/3/100/g' list.txt sed '3,$s/11/100/g' list.txt3)替换jfedu.txt文本中old为new: sed 's/old/new/g' jfedu.txt
sed -n '1,3p' jfedu.txt
sed -n '1p;$p' jfedu.txt
sed '1,3d' jfedu.txt sed '/jfedu/,$d' jfedu.txt
for i `;do sed -i '$d' jfedu.txt ;done sed '$d' jfedu.txt
sed '$d' jfedu.txt
sed '/jfedu/aword' jfedu.txt
sed '/jfedu/iword' jfedu.txt
sed 's/test$/&word/g' jfedu.txt
sed '/www/s/^/&word/' jfedu.txt
sed -e '/www.jd.com/s/^/&1./' -e 's/www.jd.com$/&./g' jfedu.txt
sed -e '/www.jd.com/s/^/&1./;s/www.jd.com$/&./g' jfedu.txt
WEBSITE=WWW.JFEDU.NET Sed “s/www.jd.com/$WEBSITE/g” jfedu.txt
sed -i '/SELINUX/s/enforcing/disabled/g' /etc/selinux/config sed -i '/SELINUX/!s/enforcing/disabled/g' /etc/selinux/config
sed 'N;s/\n/ /' jfedu.txt
$(cat list.txt |wc -l)`;do sed -n "${i}s/^/&$i) /p" list.txt ;done
sed = list.txt |sed 'N;s/\n/) /g'
grep root /etc/passwd grep "root" /etc/passwd grep -w "^root" /etc/passwd grep -i "root" /etc/passwd
ifconfig|grep netmask
ifconfig|grep -w inet
ifconfig|grep -E "172|127"
ifconfig|grep -E "([0-9]{1,3}\.){3}[0-9]{1,3}"
`;do touch jf$i.txt;echo jfedu jf$i >jf$i.txt;echo cat jf$i.txt;cat jf$i.txt;echo ----------;done
0个或者多个字符、数字;
?
匹配任意一个字符;
#
表示注解;
|
管道符号;
;
多个命令连续执行;
&
后台运行指令;
!
逻辑运算非;
[ ]
内容范围,匹配括号中内容;
{ }
命令块,多个命令匹配。
*
前一个字符匹配0次或多次;
.
匹配除了换行符以外任意一个字符;
.*
代表任意字符;
^
匹配行首,即以某个字符开头;
$
匹配行尾,即以某个字符结尾;
\(..\)
标记匹配字符;
[]
匹配中括号里的任意指定字符,但只匹配一个字符;
[^]
匹配除中括号以外的任意一个字符;
\
转义符,取消特殊含义;
\<
锚定单词的开始;
\>
锚定单词的结束;
{n}
匹配字符出现n次;{n,}
匹配字符出现大于等于n次;
{n,m}
匹配字符至少出现n次,最多出现m次;
\w
匹配文字和数字字符,不匹配符号;
\W
\w的反置形式,匹配一个或多个非单词字符,匹配
符号;
\b
单词锁定符;
\s
匹配任何空白字符;
\d
匹配一个数字字符,等价于[-]。
grep -c "test"
jfedu.txt 统计test字符总行数;
grep -i "TEST"
jfedu.txt 不区分大小写查找TEST所有的行;
grep -n "test"
jfedu.txt 打印test的行及行号;
grep -v "test"
jfedu.txt 不打印test的行;
grep "test[53]"
jfedu.txt 以字符test开头,接5或者3的行;
grep "^[^test]"
jfedu.txt 显示输出行首不是test的行;
grep "[Mm]ay"
jfedu.txt
匹配M或m开头的行;
grep "K…D"
jfedu.txt
匹配K,三个任意字符,紧接D的行;
grep "[A-Z][9]D"
jfedu.txt
匹配大写字母,紧跟9D的字符行;
grep "T\{2,\}"
jfedu.txt 打印字符T字符连续出现2次以上的行;
grep "T\{4,6\}"
jfedu.txt 打印字符T字符连续出现4次及6次的行;
grep -n "^$"
jfedu.txt
打印空行的所在的行号;
grep -vE "#|^$"
jfedu.txt
不匹配文件中的#和空行;grep
--color -ra -E
"db|config|sql" * 匹配包含db或者config或者
sql的文件;
grep
--color -E "\<([0-9]{1,3}\.){3}([0-9]{1,3})\>"
jfedu.txt 匹配
IPV4地址。
SHELL用法七(Sed语句)的更多相关文章
- SHELL用法六(Find语句)
1.SHELL编程Find语句案例实战 1)SHELL编程四剑客工具:Find.Grep.Sed.Awk,通过四剑客可以完成常规Linux指令无法完成或者比较复杂的功能,学好SHELL编程四剑客有助于 ...
- Shell编程之循环语句与echo的用法
Shell编程之循环语句与echo的用法 目录 Shell编程之循环语句与echo的用法 一.echo用法 1. echo常用选项 2. 常用的转义字符 3. 特殊符号%.#的用法 二.循环语句 1. ...
- shell脚本-循环选择语句
shell脚本-循环选择语句 过程式编程语言: 顺序执行 选择执行 循环执行 注:条件中的变量,可以在执行语句中使用,不用在加上"$". if语句 根据命令的退出状态来执行命令 单 ...
- shell脚本之循环语句与函数
shell脚本之循环语句与函数 echo的用法: echo -n #表示不换行输出 echo -e #输出转义字符,将转义后的内容输出到屏幕上 转义字符: \n :换行,被输出的字符从"\n ...
- shell 脚本之判断语句 if 详解
使用 Linux 系统这么长时间,对 shell 脚本也算是比较熟悉.其实不管是搞开发,还是搞运维,shell 脚本都是必备的基本技能.这次抽时间好好总结一下 shell 方面的知识,综合的再学习一下 ...
- Linux编程 9 (shell类型,shell父子关系,子shell用法)
一. shell类型 1.1 交互式 bin/ shell程序 当用户登录到某个虚拟控制台终端或是在GUI中启动终端仿真器时,默认的shell程序就会开始运行.系统启动什么样的shell程序取决于你 ...
- 2018年11月10日 input,print,pass 用法,条件语句+字符串
name=input('请输入用户名')#永远等待用户输入 password=input('请输入密码') print(name) print(password) 变量定义的规则: 变量名只能是 字母 ...
- 在shell中使用sed命令替换/为\/
sed命令相关: https://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856901.html https://www.cnblogs.com/D ...
- 转 功能强大的shell:if条件语句
原文 http://blog.zol.com.cn/2322/article_2321767.html 功能强大的shell:if条件语句 if语句测试条件,测试条件返回真(0)或假(1)后,可相应执 ...
随机推荐
- [LuoguP3978](https://www.luogu.org/problem/P3978) BZOJ4001概率论
BZOJ 4001 概率论 设\(f_i\)表示i个点的二叉树方案数 立刻有\(f_n = \sum_{i=0}^{n-1} f_i f_{n-i-1}\) 设\(F(x)为序列f的生成函数,有F(x ...
- symmetry methods for differential equations,exercise 1.4
tex文档: \documentclass[a4paper, 12pt]{article} % Font size (can be 10pt, 11pt or 12pt) and paper size ...
- Springboot整合Junit单元测试
1.在pom.xml中添加junit环境的依赖 <dependency> <groupId>org.springframework.boot</groupId> & ...
- priority_queue(优先队列)的用法(包括pbds)
置顶!!! 有时候在定义的时候,不要把两个<>连在一起写,以免被编译器错误理解!!!! 头文件 #include <queue> queue的一般用法不再叙述 类型名 prio ...
- Java 中的接口有什么作用?以及接口和其实现类的关系?
Java 中的接口有什么作用? - Ivony的回答 - 知乎 https://www.zhihu.com/question/20111251/answer/16585393 这是一个初学者非常常见的 ...
- UML-SSD-定义
1.NextGen例子 SSD来自用例文本 2.定义 1).针对的是用例的一个特定场景 2).参与者与系统之间交互事件(跨系统边界,不画系统内部流转,即黑盒) 比如:收银员 访问系统A.系统B,此时只 ...
- java图片上传,通过MultipartFile方式,如果后台获取null检查是否缺少步骤
本方法基于springMvc 1.首先需要在webap下创建images 2.在springmvc.xml上引入 <bean id="multipartResolver" c ...
- 网页滚动条CSS样式
滚动条样式主要涉及到如下CSS属性: overflow属性: 检索或设置当对象的内容超过其指定高度及宽度时如何显示内容 overflow: auto; 在需要时内容会自动添加滚动条overflow: ...
- zabbix自定义添加主机
1.安装zabbix-agent [root@web01 ~]# rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/3.4/rhe ...
- 关于汽车诊断OBD的理解(ISO15031-5)(转发)
1.OBD用来做什么 2.OBD和UDS的区别 3.OBD硬件接口简介 4.OBD的9大模式介绍 OBD(On-Board Diagnostic)指的是在线诊断系统,是汽车上的一种用于监控车辆状况以及 ...