[一文读懂] Linux常用命令之sed详解

6556dfaf1af30eab5df0cd605d969bc3.gif

72545952fb9fa2c3a0f588009818d1f9.png

点击上方蓝字关注我们

0de6cc08eb301008d3cf4125c2c66951.png

a7c693df99260568f10a9f019fd55113.gif

SED 是一个非常强大的工具,可以用来编辑文本文件。它可以用来替换、删除、追加或插入文本,也可以用来过滤文本。SED 可以用来批量处理文本文件,也可以用来编写复杂的脚本。

SED是流编辑器的缩写,是一个在Unix系统中使用的强大的文本处理工具。它可以用来对文本进行各种操作,包括搜索、替换、删除和插入。sed命令的语法非常简单,只需指定要进行的操作、要操作的文本和操作的范围即可。

SED 的动作可以是替换、删除、追加或插入,SED 的地址可以是正则表达式,也可以是数字。例如,地址 /foo/ 匹配包含字符串 foo 的行,地址 1,5 匹配从第 1 行到第 5 行。

31740b251ff66e66a305a5769988e31b.jpegsed命令的基本语法如下:

sed [选项] '命令' 输入文件

其中,选项用于指定一些特殊的参数,命令用于执行文本转换和处理操作,输入文件用于指定要进行操作的文件。

常用选项说明:

  • -n:禁止输出模式,只进行非打印输出。

  • -e:允许在脚本中使用复杂的命令。

  • -f:从文件中读取命令。

  • -r:使用扩展正则表达式。

常用命令说明:

  • d:删除文本。

  • c[行数][,行数2]:删除指定行数之间的文本。

  • i[文本]:插入文本到指定行数。

  • a[文本]:添加文本到指定行数。

  • s/正则表达式/替换文本/:替换文本。

  • p:打印文本。

例如,如果我们想要将文件中的所有“hello”替换为“world”,可以使用以下命令:

sed 's/hello/world/g' inputfile > outputfile

其中,g表示全局替换,输入文件为“inputfile”,输出文件为“outputfile”。

此外,sed还支持一些高级操作,例如使用地址范围、使用正则表达式、使用文件操作等。下面举几个例子:

  • 删除指定行数之间的文本:

sed '5,10d' inputfile > outputfile

这个命令将删除第5行到第10行之间的所有文本。

  • 在第5行之后插入一行文本:

sed '5i\hello' inputfile > outputfile

这个命令将在第5行之后插入一行“hello”文本。

  • 使用正则表达式进行替换:

sed 's/world/\&/' inputfile > outputfile

这个命令将把所有出现的“world”替换为“&”。

  • 删除所有空行:

sed '/^$/d' file
  • 追加文本到文件末尾:

sed -i '$a This is appended text.' file
  • 插入文本到文件开头:

sed -i '1i This is inserted text.' file

总之,sed命令是一种非常强大的文本处理工具,可以用来编辑文本文件。它可以用来替换、删除、追加或插入文本,也可以用来过滤文本。SED 可以用来批量处理文本文件,也可以用来编写复杂的脚本。通过掌握sed命令,可以对文本进行高效的的操作和处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值