linux中sed命令详解 linux之sed命令详解

linux之sed命令详解――简介

主要介绍下linux中sed命令的一些应用,sed主要用来对文件进行一些处理,比如打印,追加,删除,替换等,我这边只对使用率比较高的一些参数进行介绍

linux之sed命令详解――方法/步骤

linux之sed命令详解 1、

首先我这边先建一个字母大小转换的脚本test2.sh,内容如下:


linux之sed命令详解 2、

先介绍些sed -n的应用:

sed命令中p能实现打印匹配行的功能。我们可以实际看下sed命令带-n和不带-n情况下有什么不同。

sed -n "1p" test2.sh:带-n选项的话,只打印test2.sh脚本第一行匹配行。

sed"1p" test2.sh:不带-n的话,不仅打印第一行匹配行,还打印输出test2.sh脚本的全部内容。


linux之sed命令详解 3、

sed -n还可以打印文件的范围,比如打印test2.sh脚本的前两行,我们就可以执行以下命令:sed -n "1,2p" test2.sh,就可以直接打印前两行。

sed命令可以打印匹配模式行,比如打印test2.sh脚本匹配tr的行,就可以执行以下命令:

sed -n /tr/p test2.sh。

remark:如果不带-n的话,除了打印匹配行外,还会打印脚本的全部内容。

linux之sed命令详解_sed


linux之sed命令详解 4、

sed -e的应用。只有当sed命令传递多个编辑命令式,才会使用到-e。比如:我想打印/tr/匹配行,并且打印匹配行所在的行号,此时存在多个sed参数,就要用到-e了。

sed -n -e /tr/p -e /tr/= test2.sh

每个参数前都要带上-e:


linux之sed命令详解 5、

sed a追加命令,命令格式为:sed ’指定地址a追加内容‘ 目标文件

这个追加内容在匹配行的下一行,只会输出到标准输出,原文件内容是不变的,例如在test2.sh脚本的/tr/所在的匹配行的下一行添加“#hello”内容,可需要执行:

sed '/tr/a#hello' test2.sh

一定不要忘记单引号.

还有一个sed i的追加命令,命令格式为:sed ’指定地址i追加内容‘ 目标文件,跟a不同,i追加是在指定位置的上一行追加命令

linux之sed命令详解_sed


linux之sed命令详解 6、

sed命令中还有一些特殊的匹配,比如元字符匹配,此时需要用转义符""屏蔽其特殊意义。

比如:sed -n ‘/=/p’test2.sh,则打印输出tr一行。

$在正则表达式中表示尾行,执行sed -n ‘$p’ test2.sh则打印脚本尾行。

!表示取反,可以看以下两个例子


linux之sed命令详解 7、

sed中可以使用关键字来匹配行,打印我们所需要的内容,比如,我希望打印test2.sh第2,3行,可以执行:sed -n "2,3P" test2.sh,也可以执行sed -n "/tr/,/exit/p" test2.sh

linux之sed命令详解_sed


linux之sed命令详解 8、

sed c的应用,命令格式为:sed ’指定地址c替换内容‘ 目标文件。比如,#hello,替换test2.sh脚本的tr这行,可以执行命令:sed '/tr/c#hello' test2.sh


linux之sed命令详解 9、

sed删除d应用:比如我想删除test2.sh的第2行,可以执行以下命令:sed "2d" test2.sh或者sed /tr/d test2.sh


linux之sed命令详解 10、

sed替换s应用:格式 sed s/被替换的字符/替换字符/[替换选项]

比如,我想把test2.sh中tr替换成大写的tr,则可以执行以下命令:sed ‘s/tr/TR/’test2.sh,则把脚本中的tr替换成TR,完后输出全部内容。

如果仅想打印替换所在行,则需要试用使用-n和-p:sed -n ‘s/tr/TR/p’ test2.sh:把脚本中的tr替换成TR,然后打印tr所在的行.

如果脚本中存在好几个tr,并且每一行也存在多个tr,如果执行以上命令的话,只会更改每一行的第一个出现的tr,如果要全部把tr转后为TR,则需要添加G参数:

sed -n ’S/tr/TR/pg’test2.sh。

w参数是定向输入参数,比如要把上述的变更定向输出到test1.txt中,则需要执行:

sed -n ’s/tr/TR/pgw test1.txt’ test2.sh。

也可以直接把选定的匹配内容写到另一个文本中,比如想把test2.sh中tr这一样写到test2.txt中,执行:sed -n ’/tr/w test2.txt‘ test2.sh

linux中sed命令详解 linux之sed命令详解
  

爱华网本文地址 » http://www.413yy.cn/a/8104410103/264693.html

更多阅读

s4中单影流之主劫天赋加点图+玩法 火男中单s6天赋加点图

s4中单影流之主劫天赋加点图+玩法——简介本篇介绍S4影流之主劫天赋加点图和玩法。s4中单影流之主劫天赋加点图+玩法——工具/原料lols4中单影流之主劫天赋加点图+玩法——天赋s4中单影流之主劫天赋加点图+玩法 1、攻击天赋:4点巫

转载 原创:生命中不能承受之轻——电影《布拉格之恋》随想

原文地址:原创:生命中不能承受之轻——电影《布拉格之恋》随想作者:无聊才读书昨天晚上,在家里又看了一遍电影《布拉格之恋》的完整碟片,感受颇多。这部电影是根据诺贝尔文学奖获得者、捷克著名作家米兰昆德拉的小说《生命不能承受之轻

中国几种术数中十二宫之异同 东西方美术的异同

转载自: 马艳来 | 分类:术数宗要 中国几种术数中十二宫之异同命理十二宫在各类预测学中占有重要地位,是高级预测水准的一种体现,它可以确定出人一生的六亲关系以及所有各类社会关系、事业发展、身体状态等等。下边笔者列出各种十二宫的

声明:《linux中sed命令详解 linux之sed命令详解》为网友时间拐个弯分享!如侵犯到您的合法权益请联系我们删除