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)后,可相应执 ...
随机推荐
- CSS3-选中的锚链接改变指定样式
1.css样式 主角就是:target <a> 标签的 target 属性规定在何处打开链接文档,连接文档也可以是一个样式. 如果在一个 <a> 标签内包含一个 target ...
- HDU 2544 最短路 【Dijkstra模板题】
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2544 思路:最短路的模板题 Dijkstra 算法是一种类似于贪心的算法,步骤如下: 1.当到一个点时, ...
- Java线程——synachronized关键字的作用(一)
在并发编程中,多线程同时并发访问的资源叫做临界资源,当多个线程同时访问对象并要求操作相同资源时,分割了原子操作就有可能出现数据的不一致或数据不完整的情况,为避免这种情况的发生,我们会采取同步机制,以确 ...
- 吴裕雄--天生自然Linux操作系统:Linux 忘记密码解决方法
忘记Linux系统的root密码,linux系统忘记root密码的情况该怎么办呢?重新安装系统吗?当然不用!进入单用户模式更改一下root密码即可. 步骤如下: 重启linux系统 3 秒之内要按一下 ...
- c# 之Enum--枚举
枚举 收藏的博文连接 枚举类型声明为一组相关的符号常数定义了一个类型名称.枚举用于“多项选择”场合,就是程序运行时从编译时已经设定的固定数目的“选择”中做出决定. 枚举类型(也称为枚举):该类型可以 ...
- 关于SpringMVC的使用总结
简介 springMVC即Spring Web MVC,是spring web模块的一部分,是spring自己的web框架 springMVC对Servlet API 进行了完善的封装,极大的简化了开 ...
- Window Redis安装
1.下载redis 下载地址:https://github.com/MicrosoftArchive/redis/releases 2. 安装redis 把下载的Redis-x64-3.2.100 ...
- Vue2--非父子组件通信笔记
核心要点: var Event=new Vue(); Event.$emit(事件名称, 数据) Event.$on(事件名称,function(data){ //data }.bind(this)) ...
- Docker容器化【Docker镜像与容器相关命令】
# Docker 学习目标: 掌握Docker基础知识,能够理解Docker镜像与容器的概念 完成Docker安装与启动 掌握Docker镜像与容器相关命令 掌握Tomcat Nginx 等软件的常用 ...
- VScode安装后的插件安装
杭州SEO:Chinese(Simplified) Language Pack for Visual Stidio Code 中文汉化包 对于一些英文不太好的小伙伴,上来第一件事肯定是要切换成中文语言 ...