全球主机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 180|回复: 0

Linux服务器sed命令的使用教程

[复制链接]
发表于 2021-10-8 16:12:34 | 显示全部楼层 |阅读模式

Linux服务器的sed命令的概念小编先来介绍,简单来说Linux服务器sed可以理解为流编辑器stream editor,主要是可以根据命令来处理数据流中的数据,这些命令要么从命令行中输入,要么存储在一个命令文本文件中进行操作,今天小编就来分享下Linux服务器sed命令的使用教程。




Linux服务器sed命令可以执行以下操作:




1)一次从输入中读取一行数据;




2)根据所提供的编辑器命令匹配数据;




3)按照命令修改数据流中的数据;




4)将新的数据输出到STDOUT。




在Linux服务器流编辑器中将所有命令与一行数据匹配完毕后,它将会读取下一行数据并重复这个过程,在处理完流中所有的数据行之后就会自动终止。 Linux服务器sed命令的使用格式为: sed options script file 。




其中options中常用的选项如下所示:




1)-e command :将command中的命令添加到已有的命令中,也就是说当sed中使用多个命令时要使用这个选项。




2)-f file :将file中指定的命令添加到已有的命令中,注意每一个命令都要在独立的一行里。




3)-i :直接修改源文件。




4)-n :通常情况下当所有命令执行完后输出会显示在STDOUT中,-n选项会禁止输出,一般与替换标记p一起使用,只输出被修改过的行。




其中script中的常用使用方式:




1)替换Linux服务器文本中的指定字符,形式为:sed s/pattern/replacement/flags' ,如果不加上-i选项,修改的都是流中的内容,file本身的内容没有变化。主要用法:




1、sed 's/pattern/replacement/' file :将file的流中每行的第一个pattern替换成replacement。




2、sed 's/pattern/replacement/g' file :将file的流中每行的每一个pattern替换成replacement。




3、sed 's/pattern/replacement/2' file :将file的流中每行的第二个pattern替换成replacement。




4、sed -n 's/pattern/replacement/p' file :将file的流中每行的第一个pattern替换成replacement,并打印出修改过的行。




5、sed -n 's/pattern/replacement/2p' file :将file的流中每行的第二个pattern替换成replacement,并打印出修改过的行,标记符号可以多个一起使用,且顺序不影响结果。




6、sed 's/pattern/replacement/gw outFile' file :将file的流中每行的每一个pattern替换成replacement,并将输出保存到outFile中,注意w标记必须要放在最后,如果写作wg,标记g将无效,并生成名为g outFile的输出文件。




7、sed '2s/pattern/replacement/' file :将file的流中第二行的第一个pattern替换成replacement。




8、sed '2,4s/pattern/replacement/' file :将file的流中第二行到第四行的第一个pattern替换成replacement。




9、sed '2,$s/pattern/replacement/' file :将file的流中第二行到最后一行的第一个pattern替换成replacement。




10、sed '/word/s/pattern/replacement/' file :将file的流中含有word的行中的第一个pattern替换成replacement,可以使用正则表达式 。




2)删除文本




1、sed 'd' file :将file的流中所有行全部删除。




2、sed '2d' file :将file的流中的第二行删除。




3、sed '2,4d' file: 将file的流中的第二行到第四行删除。




4、sed '2,$d' file :将file的流中的第二行到最后一行删除。




5、sed '/word/d' file :将file的流中含有word的行删除。




3)插入和附加文本




1、插入insert命令i会在指定行前增加一个新行。




2、附加append命令a会在指定行后增加一个新行。




4.)修改行




sed '3c\This is a changed line.' file :将file的流的第三行修改为This is a changed line。




5)转换命令




转换transform命令y是唯一可以处理单个字符的Linux服务器sed命令,格式为:sed '[address]y/inchars/outchars' 。




以上内容就是具体关于Linux服务器sed命令使用教程的介绍,相信用户们在了解了以上内容之后对于sed命令的使用就有一定的把握了,希望能帮助到有需要的Linux服务器用户们。


更多详情请联系:www.jimcloud.net   



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|小黑屋|全球服务器论坛

GMT+8, 2024-12-2 10:22 , Processed in 1.716003 second(s), 18 queries , File On.

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表