Linux命令之sed-删除匹配行

Linux命令之sed-删除匹配行,第1张

1. sed -i '/preSql/d' a.txt

---删除匹配到 preSql的行

2. sed -i '1d' a.txt

---删除第一行

3. sed -i '3~2d' a.txt

---从第三行开始,每隔一行删除

4. sed -i '4,8d' a.txt

---删除从第4行到第8行

5. sed -i '$d'  a.txt

---删除最后一行

6. sed '/^$/d' a.txt

---删除所有空行

7. sed -i  '/Website Design/,$d' a.txt

---从匹配行到末尾行

8. sed -i  '/Storage/,+2d' a.txt

--- 删除匹配行和之后两行

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

1、删从0行到happy行

sed -i '0,/happy/d' test.txt

2、删从0行到happy行里面的happy行,相当于删除第一个happy行

sed -i '0,/happy/{/happy/d}' test.txt

3、{}组合命令:

一组命令作为一个块被应用

函数命令之间用""分割

组合可以嵌套


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/yw/8976307.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存