sed入门

一、在某行的前一行或后一行添加内容

具休操作如下:

#匹配行前加
sed -i ‘/allow 361way.com/iallow www.361way.com‘ the.conf.file
#匹配行前后
sed -i ‘/allow 361way.com/aallow www.361way.com‘ the.conf.file

而在书写的时候为便与区分,往往会在i和a前面加一个反加一个反斜扛 。代码就变成了:

sed -i ‘/2222222222/a\3333333333‘ test.txt
sed -i ‘/2222222222/i\3333333333‘ test.txt

这就就可以很方便的看出要在某一行前或某一行后加入什么内容 。不过经常我记不住a 、i 那个是前那个是后。我的记法是a = after ,i = in front 。这样就知道 i 是前,a 是后了。不过官方的man文件里不是这样解释的,man文件里是这样解释的:

a
text   Append text, which has each embedded newline preceded by a backslash.
i
text   Insert text, which has each embedded newline preceded by a backslash.

而且其可以配合find查找的内容处理,如下:

find . -name server.xml|xargs sed -i ‘/directory/i       <!--‘
find . -name server.xml|xargs sed -i ‘/pattern="%h/a       -->‘

二、在某行(指具体行号)前或后加一行内容

sed -i ‘N;4addpdf‘ a.txt
sed -i ‘N;4ieepdf‘ a.txt 

这里指定的行号是第四行 。

三、删除指定行的上一行或下一行

删除指定文件的上一行
sed -i -e :a -e ‘$!N;s/.*n(.*directory)/1/;ta‘ -e ‘P;D‘ server.xml
删除指定文件的下一行
sed -i ‘/pattern="%/{n;d}‘ server.xml 

sed -i ‘3s/aaa/fff/‘ file                --表示针对file文件中的第三行,将其中的aaa替换为fff

sed -i ‘/xxx/s/aaa/fff/g‘ file    --表示针对文件,找出包含xxx的行,并将其中的aaa替换为fff

sed -i ‘1s/[#*]/fff/gp‘ file    --表示针对文件第1行,将其中的#号或是*号替换为fff

 
时间: 2024-10-27 09:41:30

sed入门的相关文章

sed入门详解教程

sed 是一个比较古老的,功能十分强大的用于文本处理的流编辑器,加上正则表达式的支持,可以进行大量的复杂的文本编辑操作.sed 本身是一个非常复杂的工具,有专门的书籍讲解 sed 的具体用法,但是个人觉得没有必要去学习它的每个细节,那样没有特别大的实际意义.网上也有很多关于 sed 的教程,我也是抱着学习的心态来学习 sed 的常见的用法,并进行系统的总结,内容基本覆盖了 sed 的大部分的知识点.文中的内容比较简练,加以实际示例来帮助去理解 sed 的使用. 一.写在前边 1.sed介绍 se

sed入门实例

语法格式 sed [-nefir] 'command' file(s) sed [-nefir] -f scriptfile file(s) 常用选项: -n∶使用安静(silent)模式.在一般 sed 的用法中,sed在所有的脚本指令执行完毕后,将自动打印模式空间中的内容到屏幕上.但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来. -e∶直接在指令列模式上进行 sed 的动作编辑: -f∶直接将 sed 的动作写在一个档案内, -f filename 则可

linux三剑客之sed入门详解

sed介绍sed流编辑器(stream editor),在三剑客中排行老二,是一款简单的文本编辑语言.sed并不直接处理源文件,而是逐行读取源文件的内容到内存(称模式空间)中,然后在模式空间中使用sed命令处理,再打印模式空间处理后的内容到标准输出.sed的能够实现的功能:增删改查.替换.过滤.取行.sed文本处理原理图 sed命令的语法:sed [选项] 'AddressCommand [修饰符]'inputfile(输入文件)sed命令语法各参数解释 实验环境 [[email protect

AWK&amp;SED

目录 命令实例 1.显示两个目录中不同的文件 2.打补丁 3.找出两个文件相同的记录 4.找不同的记录 5.对文件的某一列进行统计 6.将c文件中第一列放到到d文件中的第三列 7.删除重复行,顺序不变 uniq 选项 参数 实例 sort命令 语法 选项 参数 实例 du find awk awk命令格式和选项 awk模式和操作 模式 操作 awk脚本基本结构 awk的工作原理 awk内置变量(预定义变量) 重点 将外部变量值传递给awk awk运算与判断 算术运算符 赋值运算符 逻辑运算符 正

流编辑器Sed

Sed简介 Sed是一款流编辑工具,用来对文本进行过滤与替换操作,特别是当你想要对几十个配置文件做统一修改时,你会感受到Sed的魅力!Sed通过一次仅读取一行内容来对某些指令进行处理后输出,所以Sed更适合于处理大数据文件.首先,Sed通过文件或管道读取文件内容,但Sed默认并不直接修改源文件,而是将读入的内容复制到缓冲区中,我们称之为模式空间(pattern space),所有的指令操作都是在模式空间中进行的,然后Sed根据相应的指令对模式空间中的内容进行处理并输出结果,默认输出至标准输出(即

LINUX&mdash;SED简单使用

SED简介 sed 全名叫 stream editor,流编辑器,用程序的方式来编辑文本. SED使用 替换参数s #使用yours替换my,g表示替换改行所有匹配项 sed "s/my/yours/g" demo.txt #指定行替换 sed "3s/my/yours/g" demo.txt #指定多行替换 sed "3,6s/my/yours/g" demo.txt #只替换每行第二个 sed "s/my/yours/2"

linux之vim编辑器详解

字处理器:像word,wps,除了本文本身以外,还有修饰方面的设置. 文本编辑器:编辑纯ASCII文档. nano,sed  入门简单,功能简陋. 强大的vi编辑器 (Visual Interface) 现在是Vim :VI  inproved 它是全屏编辑器,模式化编辑器. vim模式: 编辑模式(命令模式) 输入模式 末行模式 默认处于编辑模式. 模式转化: 编辑模式--->输入模式: i :在当前光标所在字符的前面,转为输入模式. a:在当前光标所在字符的后面,转为输入模式. o:在当前光

shell基础脚本

echo -e "\e[1;42m this is test \e[0m"            'this is test'会被彩色打印,其中颜色由42m决定echo -n this is test                    'this is test'不会被换行printf "%-4s %-5.1f\n"    wade 3.1            wade 3.1分别按照左对齐打印出来,并采用4s和5.1f格式 pgrep gedit      

sed从入门到深入修炼目录

sed系列文章: sed修炼系列(一):花拳绣腿之入门篇sed修炼系列(二):武功心法(info sed翻译+注解)sed修炼系列(三):sed高级应用之实现窗口滑动技术sed修炼系列(四):sed中的疑难杂症 说明: 第一篇是入门篇,但却是最重要的一篇.虽然内容不算多,但在里面讲了绝大多数sed的工作机制,在后面几篇里都涉及到其中的概念.如果后面几篇文章有看不懂的术语,比如sed循环.SCRIPT循环.自动输出.回到SCRIPT循环顶部等,请看这篇文章. 第二篇是info sed的翻译篇,花了