Shell脚本之sed的使用
1.sed命令;主要作用是查找;新增 删除 和修改替换。
user.txt
daokr#cat user.txt
ID Name Sex Age
zhang M
wang G
cheng M
huahua M
查找命令:-n 和 p(print)
在user.txt文件中;匹配带h的行 并且只显示1,3行
cat user.txt | grep h |sed -n '1,3p'
daokr#cat user.txt | grep h |sed -n '1,3p'
zhang M
cheng M
huahua M
删除命令:d(delete)
删除最后一行记录
cat user.txt | grep h | sed '$d'
在user.txt中显示带h的行;并且从结果中删掉2,3行的记录;只看第一行记录
cat user.txt | grep h |sed '2,3d'
daokr#cat user.txt | grep h
zhang M
cheng M
huahua M
daokr#cat user.txt | grep h |sed '2,3d'
zhang M
新增数据:a (append)
在user.txt中查询出带h的行;并在第二行后面添加新的一行数据
cat user.txt | grep h |sed '2a5\thuang\tG\t40'

前面插入:i (insert)
在第二行插入2行数据的签名插入新增的数据:
cat user.txt | grep h |sed '2i hello\nword'

数据行替换:c
把第二行数据;用命令c替换成 10 wanghua N 90
cat user.txt | grep h |sed '2c 10\twanghua\tN\t90'

字符串的替换:s
格式为“行范围s/旧字串/新字串/g”
daokr#cat user.txt | grep h
zhang M
cheng M
huahua M
daokr#cat user.txt | grep h |sed '2s/ch/wh/g'
zhang M
wheng M
huahua M
替换并写入文件:-i
把第3行的数据里的wang 替换成heee 并写入到user.txt
sed -i '3s/wang/heee/g' user.txt
daokr#sed -i '3s/wang/heee/g' user.txt
daokr#cat user.txt
ID Name Sex Age
Fhang M
heee G
cheng M
huahua M
多行替换:-e
sed -e 's/zhang//g ; s/wang//g' user.txt # -e允许多条命令顺序执行,用分号隔开,s前面不加数字表示所有行
sed -e 's/he/wl/g;s/hua/lua/g' user.txt

daokr#sed -e 's/he/wl/g;s/hua/lua/g' user.txt
ID Name Sex Age
Fhang M
wlee G
cwlng M
lualua M
Shell脚本之sed的使用的更多相关文章
- Shell脚本之sed详解
在编写shell脚本的过程中,我们经常需要使用sed流编辑器和awk对文本文件进行处理. 一.什么是sed? sed 是一种在线编辑器,它一次处理一行内容.sed是非交互式的编辑器.它不会修改文件,除 ...
- 转载:shell脚本之sed使用----替换、变量、转义字符
sed替换的基本语法为:----s后面跟的是分隔符,原字符串可使用.*这种正则表达式进行整行替换 代码如下: sed 's/原字符串/替换字符串/' 单引号里面,s表示替换,三根斜线中间是替换的样式, ...
- linux下shell脚本中sed命令的用法
先来给一个案例: #将old.sql文件中的符号“|”替换为“,”,并保存到test.sql文件中 sed "s/|/,/g" "old.sql"> te ...
- shell脚本 5 sed和awk
文本处理三剑客 在 Shell 下使用这些正则表达式处理文本最多的命令有下面几个工具: 命令 描述 grep 默认不支持扩展表达式,加-E 选项开启 ERE.如果不加-E 使用花括号要加转义符\{\} ...
- shell脚本三剑客之sed
shell脚本之sed命令 1.概述 2.工作流程 3.命令格式 4.具体操作 1.概述: 1.sed是一种流编辑器,流编辑器会在编辑器处理数据之前基于预先提供的一组规则来编辑数据流 2.sed编辑器 ...
- Makefile Shell 脚本;sed命令
1. 在Makefile中想使用shell脚本,需要添加"@"符号,例如: @if [ -d xxx ]; then \ //-d 判 ...
- 学习笔记之Shell脚本学习指南 & sed与awk & 正则表达式
正则表达式_百度百科 http://baike.baidu.com/link?url=ybgDrN2WQQKN64_gu-diCqdeDqL8LQ-jiQ-ftzzPaNUa9CmgBRDNnyx50 ...
- 《Linux命令行与shell脚本编程大全》第二十一章 sed进阶
本章介绍一些sed编辑器提供的高级特性. 21.1 多行命令 按照之前的知识,所有的sed编辑器命令都是针对单行数据执行操作的. 在sed编辑器读取数据流时,它会基于换行符的位置将数据分成行,一次处理 ...
- Shell脚本学习之sed详解
在编写shell脚本的过程中,我们经常需要使用sed流编辑器和awk对文本文件进行处理. 一.什么是sed? sed 是一种在线编辑器,它一次处理一行内容.sed是非交互式的编辑器.它不会修改文件,除 ...
随机推荐
- Android手机的分区以及一些刷机术语的了解
最早以前的手机基本都是下载一个刷机软件(像刷机精灵.刷机大师),一键root,一键刷机,这就以前的傻瓜式刷机,至少我在高中(2015年开始接触)的时候也是这么干的.那时候,好像有种手机开机界面会出现“ ...
- SpringBoot 返回Json实体类属性大小写问题
今天碰到的问题,当时找了半天为啥前台传参后台却接收不到,原来是返回的时候返回小写,但是前台依旧大写传参. 查了很多后发现其实是json返回的时候把首字母变小写了,也就是Spring Boot中Jack ...
- gradle中引用本地项目
例如在别的地方有一个 apiProject,里面有 apiModule,你想要引用,而不是复制到现有项目,那么 1.现有项目的settings.gradle下 include ':apiModule' ...
- (一)Django项目的目录结构
1.将app放在apps文件夹中,将改文件夹设置为 source root,便于引用.两个app不可以互相引用,可以利用第三个app实现一些操作. 2.将一些多媒体文件放在media中的相应app名称 ...
- Docker2 docker commit方法镜像制作
一.前期准备 1.下载一个centos镜像,进入容器,安装wget docker pull centos docker run -it centos bash [root@web1 ~]# docke ...
- ActiveMQ(一)
下载地址:http://activemq.apache.org/download.html 换数据源: ActiveMQ的独占消费
- 1.工厂模式(Factory Method)
注:图片来源于 https://www.cnblogs.com/-saligia-/p/10216752.html 工厂UML图解析: 工厂模式:client用户需要三步: 1.创建工厂: 2.生产产 ...
- android RecyclerView的Linear布局案例
1.先创建 activity_recycle_view.xml 和 activity_recycler_linear_item.xml 如下: <?xml version="1.0&q ...
- RestTemplate对象,进行get和post简单用法
如果只是针对纯Rest接口处理的话,我们可以使用restTemplate对象来操作,简单方便,可以不需要手写httpClient代码了. 我们看下基本的用法,如下: 1.getForObject cl ...
- Linux磁盘管理——directory tree与mount point
参考:/sys 和 /dev 区别 Linux磁盘管理——虚拟文件系统 Directory tree Linux内的所有数据都是以文件的形态来呈现的,所以整个Linux系统最重要的地方就是direct ...