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)后,可相应执 ...
随机推荐
- 运营商何时会取消40G或100G流量封顶呢?短期内有望实现吗?
一直以来,运营商的不限流量套餐就饱受人们的诟病.因为说是不限流量,但其实运营商故意设置了"封顶"!最常见的封顶限制,就是流量超过40G网速会降速到1Mbps--实际下载速度为128 ...
- JXCPC 试题册
JXCPC 试题册 Input file: standard input Output file: standard output Time limit: 1s Memory limit: 256 m ...
- docker安装fastdfs与java客户端测试
一.docker 安装FastDFS 1.拉取镜像 docker pull morunchang/fastdfs 2.创建并启动tracker容器 docker run -d --name=track ...
- 21. docker 数据通讯环境准备
一 . 环境搭建 1.编写 Vagrantfile 并创建虚拟机 并虚拟机host绑定外部 192.168.205.10:8888 # -*- mode: ruby -*- # vi: set ft= ...
- iTOP-4418开发板TF卡烧写-引导uboot
基于迅为iTOP-4418开发板 将 TF 卡接入开发板,将拨码开关设置为 TF 卡启动,进入 uboot 模式,如下图所示. 如下图所示,使用命令“fastboot”,接着就可以通过 OTG 给 e ...
- Struts 2的下载和安装
一.为Web应用增加Struts 2支持 下载和安装Struts 2步骤: 登录http://struts.apache.org/download.cgi站点,下载Struts 2的最新版,下载时有以 ...
- Java之多线程方式一(继承Thread类)
/** * 多线程的创建,方式一:继承于Thread类 * 1. 创建一个继承于Thread类的子类 * 2. 重写Thread类的run() --> 将此线程执行的操作声明在run()中 * ...
- nfs 支持ipv6
mount 一个ipv6 nfs 项目在docker里mount 一个nfs来读写,而现在需要支持ipv6,所以先写了各小demo,最后成功mount,这里记录一下 #include <sys/ ...
- rabbitmq文档
https://blog.csdn.net/hellozpc/article/details/81436980
- VirtualBox虚拟机下Linux CentOS6.9安装增强功能
VirtualBox安装CentOS后,再安装增强功能就可以共享文件夹.粘贴板以及鼠标无缝移动,主要步骤如下: 1.yum -y update 2.yum -y install g++ gcc gc ...