博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux--sed使用
阅读量:6153 次
发布时间:2019-06-21

本文共 988 字,大约阅读时间需要 3 分钟。

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  修改原文件

 

转载于:https://www.cnblogs.com/zhirusi/p/7615659.html

你可能感兴趣的文章
好记心不如烂笔头,ssh登录 The authenticity of host 192.168.0.xxx can't be established. 的问题...
查看>>
使用addChildViewController手动控制UIViewController的切换
查看>>
Android Fragment应用实战
查看>>
SQL Server查询死锁并KILL
查看>>
内存或磁盘空间不足,Microsoft Office Excel 无法再次打开或保存任何文档。 [问题点数:20分,结帖人wenyang2004]...
查看>>
委托到Lambda的进化: ()=> {} 这个lambda表达式就是一个无参数的委托及具体方法的组合体。...
查看>>
apache 伪静态 .htaccess
查看>>
unity3d 截屏
查看>>
ASP.NET MVC学习之控制器篇
查看>>
MongoDB ServerStatus返回信息
查看>>
Cookie application session
查看>>
在线富文本编辑器FckEditor配置(.Net Framework 3.5)
查看>>
循环不变式
查看>>
Host ‘host_name’ is blocked
查看>>
Hadoop 2.0安装以及不停集群加datanode
查看>>
分析jQuery源码时记录的一点感悟
查看>>
Sql日期时间格式转换
查看>>
20个最强的基于浏览器的在线代码编辑器 - OPEN资讯
查看>>
Tesseract——OCR图像识别 入门篇
查看>>
《Java程序性能优化》之设计优化
查看>>