sed的用法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sed的用法相关的知识,希望对你有一定的参考价值。
参考技术A sed是一个在linux下很好用的文件处理工具,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增等。参数说明:
常用操作:
sed命令主要是:sed +参数+范围+操作 +要操作的文件。
如:sed -n '1d' a.txt #删除第一行
-n 为quiet或silent模式,1为选择第一行, d 为删除
对行的处理:
1 选择第1行。
2,5 选择2到5行,共4行。
1~2 选择奇数行。
2~2 选择偶数行。
2,+3 和2,5的效果是一样的,共4行。
3,$ 从第3行到文件结尾。
范围的选择还可以使用正则匹配,如:
/ab/,+2 选择出现ab字样的行,以及后面的2行。
/^a/,/b/ 选择以a开头的行,和出现b字样行之间的数据。
使用模式进行查询
格式:sed 's/要替换的字符串/新的字符串/g' (要替换的字符串可以用正则表达式)
删除匹配行
替换匹配行中的某个字符串
欢迎关注!
参考:
https://www.runoob.com/linux/linux-comm-sed.html
https://blog.csdn.net/qq_34834325/article/details/78523112 参考技术B sed命令行格式:sed [options] 'command' file(s)
options常用选项:
-n或--quiet或——silent:仅显示script处理后的结果;
-e:以选项中的指定的script来处理输入的文本文件;
-f:以选项中指定的script文件来处理输入的文本文件;
-r∶sed 的动作支援的是延伸型正规表示法的语法;
-i∶直接修改读取的档案内容,而不是由萤幕输出;
-h或--help:显示帮助;
-V或--version:显示版本信息。
Command常用命令:
a:新增,a 的后面可以接字符串,而这些字符串会在新的一行出现(目前的下一行);
c:取代,c 的后面可以接字符串,这些字符串可以取代 n1.n2 之间的行;
d:删除,d 后面通常不接任何字符串;
i:插入,i 的后面可以接字符串,而这些字符串会在新的一行出现(目前的上一行);
p:列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作;
s:取代,可以直接进行取代的工作,通常与正规表达式搭配使用。
实例说明:
新增操作:a命令
sed '/^bird/a\test' file将test追加到 以bird开头的行后面
删除操作:d命令
sed '/^$/d' file #删除空白行;
sed '2d' file #删除第二行;
sed '2.$d' file #删除第2行到最后一行;
sed '$d' file #删除最后一行;
sed '/^bird/'d file #删除所有开头是bird的行;
插入操作:i命令
sed -i '3i\bird ' bird.conf #在bird.conf文件第3行之前插入bird
替换文本中的字符串:s命令
sed 's/bird/birds/' file #将文本中的bird替换成birds;
sed -i 's/ bird / birds /g' file #将file文件中每一行的第一个bird替换为birds;
以上是关于sed的用法的主要内容,如果未能解决你的问题,请参考以下文章