码迷,mamicode.com
首页 > 系统相关 > 详细

Linux--sed使用

时间:2017-09-30 19:34:45      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:isp   pat   必须   正则表达   tor   全屏   读取   文件的   ons   

Sed:字符流编辑器(stream editor)

功能:完成对多个文件的一系列编辑工作

相关内容:应用正则表达式语法,与shell进行交互,脚本编写

sed是行编辑器。与之对应非常的熟悉的全屏幕编辑器是vi

使用行编辑器,每次可以处理一行,

例如 : $ ed test 将显示的最后一行,p 显示当前的行,如果要进行后续对行的操作,就需要移至对应行,直接输入对应行的数字num,在输入对应的命令进行操作;

例如: 删除15行的数据,则进行   15   D;

还可以用使用啧啧表达式作为一个地址,例如删除包含单词“regular”的行,可以使用:/regular/d

替换的语法是:  【address】s/pattern/replacement/flag  -- pattern是正则表达式,用replacement替换这个正则表达式中匹配的字符串,例如: s/regular/complex/ ,如果当前行出现多次,则需要使用字符g :s/regular/complex/g ;如果要将它应用到所有的行则需要在地址前在放置一个g  :g/address/regular/complex/g;

sed命令行的语法:

commond [options] script filename  -- script 指定要执行的指令 ,假如它包含有可以有shell解释的空格或者任意字符(例如$和*),那么它必须由单引号括起来;

命令:sed -f    -f选项允许你指定脚本文件的名字,在sed的操作中,每个程序每次从输入文件中读取一个输入行,生成改输入行的备份,并且对该备份行执行脚本指定的指令,因此,对输入行所做的改动不会影响真正的输入文件;因此只有重定向sed的输出到另一个程序中,才能够捕获文件中的输出。

例如:$ sed -f sedscr list > newlist   注意不要将文件输出重定向到正在比阿尼机的文件中,否则就会使它变成乱码;

sed的默认操作时输出每个输入行。-n选项可以阻止自动输出。当指定该选项时,每个要生成输出的指令都必须包含打印命令P

sed -e  编辑随后的指令  sed -f 跟随脚本中的文件名  sed -n 阻止输入行的自动输出   sed -i  修改原文件

 

Linux--sed使用

标签:isp   pat   必须   正则表达   tor   全屏   读取   文件的   ons   

原文地址:http://www.cnblogs.com/zhirusi/p/7615659.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!