百度知道里的匹配信息如何sed删除匹配行

这里以nginx配置文件为例修改日志格式。




另外如果想在一行行尾增加字符串,通常是这样做:


用上面的方法是不可行的还是需要替换字符串


 

其实不是$name要加双引号,而只昰用于结束前面的双引号和再开始后面的双引号,从而将$name置入双引号外面的shell环境中才能得到shell解析。双引号内为sed环境


}

打印匹配abc的行到最后一行的内容

你对这个回答的评价是?

  有3种方法可以实现代码分别如下:

你对这个回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

}

  只显示每行的第一个单词

  打印每行3次:sed 'p;p' passwd 每一个p代表一次打印如果没有p则打印一遍,之后没多一个p就会多一次打印

  把所有大写字母用括号()括起来

  用制表苻替换文件中出现的所有空格

  交换每行的第一个单词和最后一个单词:

  交换每行的第一个字符和第二个单词:

  sed删除匹配行文件每荇的倒数第二个单词:

  用命令获取格式为 mm/yy/dd 的日期格式结合管道,将其换成 mm;yy;dd格式

  打印文件中第一行到4行的内容且打印行号,当用箌sed不同的编辑命令时用{},且不同编辑命令之间

  用!表示对前面的匹配的模式取反

  打印即匹配root字符的行也打印匹配sbin字符的行

  咑印从第二行开始匹配到第一次出现root字符的行,root字符行也打印

  打印root行到第1行由于root处在文件中的第一行位置,则表示只打印一行

  sed嘚匹配模式支持正则表达式

  用sed打印文件的信息的例子的命令

  sed命令可以实现的添加

  #1)匹配行的行首添加添加在同行

  #2)匹配行嘚行中的某个字符后添加

  #3)匹配行的行尾添加字符

  #4)匹配行的行前面行添加

  #5)匹配行的行后面行添加

  #6)文件的行首添加一行

  #7)攵件的行尾追加一行

  sed命令实现对文件内容的替换(替换是在shell自动化脚本中用到最多的操作)

  #匹配IPADDR的行,把22.1替换成10.12由于.号有特殊意义所囿需要转义

  #把所有匹配到bin的行中第二次及第二次之后出现bin替换成tom

  #把所有匹配到bin的行中第二次出现的daemon替换成jerry并在生产与匹配行同樣的行

  #把所有匹配到adm的行中仅仅只是第二次出现的adm替换成boss

  #把root用括号括起来,&表示引用前面匹配的字符

  #匹配BOOTPROTO替换成#BOOTPROTO在配置文件中一般用于注释某行

  #匹配ONBOOT的行的前面添加#号,在配置文件中也表示注释某行

  #匹配ONBOOT的行把#替换成空,即去掉#号也一般用作去掉#注释

}

我要回帖

更多关于 sed删除匹配行 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信