sed    [-Options]     [‘Commands’]    filename;

sed工具默认处理文本,文本内容输出屏幕已经修改,但是文件内容其实没有修改,需要加-i参数即对文件彻底修改;

x  #为指定行号

x,y #指定从x到y的行号的范围

/pattern/  #查询包含模式的行

/pattern/pattern/  #查询包含两个模式的行

/pattern/,x  #从与pattern的匹配行到x号行之间的行

x,/pattern/   #从x号行到与pattern的匹配行之间的行

x,y!  #查询不包括x和y行号的行

r #从另一个文件中读文件;

w #将文本写入到一个文件;

y  #变换字符

q #第一个模式匹配完成后退出;

l # 显示与八进制ASCII码等价的控制字符

{} #在定位行执行的命令组;

p #打印匹配行;

= #打印文件行号;

a\ #在定位行号之后追加文本信息;

i\ #在定位行号之前追加文本信息

d #删除定位行;

c\ #用新文本替换定位文本;

s #使用替换模式替换相应模式;

n #读取下一个输入行,用下一个命令处理新的行;

N #将当前读入行的下一行读取到当前模式空间;

(1)替换list.txt 文本中old 为new:

sed 's/old/new/g' list.txt

(2) 打印list.txt 文本第一行至第三行;

sed -n '1,3p' list.txt

(3)打印list.txt 文本中第一行与最后一行;

sed -n '1p;$p' list.txt

(4)删除list.txt 第一行至第三行、删除匹配行至最后一行:

sed ‘1,3d’ list.txt

sed '/list/,$d' list.txt

(5)删除list.txt最后6行及删除最后一行

for i in 'seq 1 6';do sed -i '$d' list.txt

sed '$d' list.txt

(6)删除list.txt 最后6行;

sed '$d' list.txt

(7)在list.txt 查找list.txt 所在行,并在其下一行添加word字符,a表示在其下一行添加字符串,i表示在其上一行添加字符串

sed 'list/aword' list.txt

sed 'list/iword' list.txt

(8)在list.txt查找以test结尾的行尾添加字符串word,$表示结尾标识,&在sed中表示添加;

sed ‘s/test$/&word/g’ list.txt

(9)在list.txt查找list的行,在其行首添加字符串word,^表示起始标识,&在sed中表示添加:

sed ‘list/s/^/&word/ list.txt

(10)’多个sed命令组合用 -e

sed  -e '/list/s/^/&1./' -e 's/list$/&./g' list.txt

(11)sed读取系统变量,变量替换:

ABC=123

sed "s/list/$ABC/g" list.txt

(12)多个sed命令组合,使用分号";"分割:

sed -e 'list/s/^/&1./;s/list$/&./g' list.txt

(13)  修改Selinux策略enforcing为disabled,查找/SELINUX/行,然后将其行enforcing值改成disabled、!s表示不包括SELINUX行:

sed -i '/SELINUX/s/enforcing/disabled/g' /etc/selinux/config

sed -i 'SELINUX/!s/enforcing/disabled/g' /etc/selinux/config

(14)合并上下两行,也即两行合并;

sed 'N;s/\n/ /' list.txt

编程四剑客sed-2019.2.20的更多相关文章

  1. shell 编程四剑客简介 find sed grep awk(微信公众号摘抄)

    一,Shell编程四剑客之Find 通过如上基础语法的学习,读者对Shell编程有了更近一步的理解,Shell编程不再是简单命令的堆积,而是演变成了各种特殊的语句.各种语法.编程工具.各种命令的集合. ...

  2. Shell编程四剑客包括:find、sed、grep、awk

    一.Shell编程四剑客之Find Find工具主要用于操作系统文件.目录的查找,其语法参数格式为: find path -option [ -print ] [ -exec -ok command ...

  3. 简单介绍shell编程四剑客之sed

    概要:分别的作用 grep:文本过滤(模式:pattern)工具,grep,egrep,fgrep,擅长过滤. sed:stream editor 文本编辑工具:(流编辑器),擅长取行.替换. awk ...

  4. 简单介绍shell编程四剑客之grep

    概要:分别的作用 grep:文本过滤(模式:pattern)工具,grep,egrep,fgrep,擅长过滤. sed:stream editor 文本编辑工具:(流编辑器),擅长取行.替换. awk ...

  5. 编程四剑客awk

    awk  'pattern +{action}' file (1)AWK基本语法参数详解 a:单引号 ''是为了和shell命令区分开: b:大括号{}表示一个命令分组: c:pattern 是一个过 ...

  6. 简单介绍shell编程四剑客之awk

    概要:分别的作用 grep:文本过滤(模式:pattern)工具,grep,egrep,fgrep,擅长过滤. sed:stream editor 文本编辑工具:(流编辑器),擅长取行.替换. awk ...

  7. linux四剑客-grep/find/sed/awk/详解-技术流ken

    四剑客简介 相信接触过linux的大家应该都学过或者听过四剑客,即sed,grep,find,awk,有人对其望而生畏,有人对其爱不释手.参数太多,变化形式太多,使用超级灵活,让一部分人难以适从继而望 ...

  8. Flask - 四剑客 | templates | 配置文件 | 路由系统 | CBV

    Flask框架简介 说明:flask是一个轻量级的web框架,被称为微型框架.只提供了一个高效稳定的核心,其它全部通过扩展来实现.意思就是你可以根据项目需要进行量身定制,也意味着你需要不断学习相关的扩 ...

  9. Linux 命令之 linux 四剑客

    Linux命令-- 四剑客 一:Linux命令 之 AWK 符号:^ 开头 $ 结尾 awk 是一种处理文本的语言,一个强大的文本分析命令! 1:提取文件中的每行的第二个 提取前文本中内容为  命令: ...

随机推荐

  1. MapReduce的工作机制

    <Hadoop权威指南>中的MapReduce工作机制和Shuffle: 框架 Hadoop2.x引入了一种新的执行机制MapRedcue 2.这种新的机制建议在Yarn的系统上,目前用于 ...

  2. MySQL数据库的高可用方案总结

    高可用架构对于互联网服务基本是标配,无论是应用服务还是数据库服务都需要做到高可用.虽然互联网服务号称7*24小时不间断服务,但多多少少有一些时候服务不可用,比如某些时候网页打不开,百度不能搜索或者无法 ...

  3. Android获取文件夹下的所有子文件名称;

    public static List<String> getFilesAllName(String path) { File file=new File(path); File[] fil ...

  4. oracle取出多个字段列中的最大值和最小值

    greatest 函数和least函数 select serverid, greatest(e.core0, e.core1, e.score2 ) from e

  5. Python三级菜单增删改查

    #主要知识点是,字典,列表是使用menu = {'北京':{ '朝阳':{ '国贸':{ 'CICC':{}, 'HP':{}, '渣打银行':{}, 'CCTV':{} }, '望京':{ '陌陌' ...

  6. 零基础学习python_字符串(14-15课)

    今天回顾下我之前学习python的第一个对象——字符串,这个对象真蛋疼,因为方法是最多的,也是最常见的类型,没有之一... 内容有点多,我就搜了下网上的资料,转载下这个看起来还不错的网址吧:http: ...

  7. SPOJ3276 D-query

    题意:n个数 a1...an,q组询问,每组询问给定 l,r,输出 [ l, r ] 有多少不同的数 ( n ≤30000, q ≤200000, ai ≤ 106 ) 离线 + 树状数组维护 #in ...

  8. QT编写TCP入门+简单的实际项目(附源程序)

    我个人感觉学习QT不需要那么深入的了解,因为我就是编写一下界面来实现理想的功能而已,我不是靠这个吃饭,当然以后要是从事这个方向那就好好深入底层好好学了. 学习QT的TCP:第一步:去百度看看TCP的介 ...

  9. Java多层嵌套异常处理的基本流程

    异常是程序中的一些错误,但并不是所有的错误都是异常,错误有时候是可以避免的.异常的对象有两个来源,一是Java运行时环境自动抛出系统生成的异常,而不管你是否愿意捕获和处理,它总要被抛出!比如除数为0的 ...

  10. ROS学习手记 - 5 理解ROS中的基本概念_Services and Parameters

    上一节完成了对nodes, Topic的理解,再深入一步: Services and Parameters 我不理解为何 ROS wiki 要把service与parameter放在一起介绍, 很想分 ...