Sed命令是Linux中的重要命令之一,在文件处理中起着重要的作用。可用于删除或移动与给定模式匹配的特定行。

- Magesh Maruthamuthu

Sed代表流编辑器,常用于Linux中的基本文本处理。Sed命令是Linux中的重要命令之一,在文件处理中起着重要的作用。可用于删除或移动与给定模式匹配的特定行。

它还可以删除文件中的特定行,并且可以从文件中删除表达式。可以通过指定分隔符来标识文件。

本文列出了15个用法示例,可以帮助您掌握sed命令。

如果您能理解并记住这些命令,当您需要使用sed时,这些命令将会派上用场,并为您节省大量时间。

注意:为了方便演示,我在执行sed命令时,不使用-i选项,删除了行的文件内容会打印到Linux终端。

但是,如果您想在实际环境中删除源文件中的行,请使用sed命令中的-i选项。

在演示之前,我创建了sed-demo.txt文件,并添加了以下内容和相应的行号,以便更好地理解。

# cat sed-demo.txt

1 Linux操作系统

2 Unix操作系统

3 RHEL

4顶红帽子

5顶软呢帽

6 Arch Linux

7厘

8 Debian

9 Ubuntu

10 openSUSE

1)如何删除文件的第一行?

使用以下语法删除文件的第一行。

n表示文件中的第n行,d选项用于删除sed命令中的一行。

语法:

sed 'Nd '文件

使用以下sed命令删除sed-demo.txt中的第一行..

# sed '1d' sed-demo.txt

2 Unix操作系统

3 RHEL

4顶红帽子

5顶软呢帽

6 Arch Linux

7厘

8 Debian

9 Ubuntu

10 openSUSE

2)如何删除文件的最后一行?

使用以下语法删除文件的最后一行。

$符号表示文件的最后一行。

使用以下sed命令删除sed-demo.txt中的最后一行..

# sed '$d' sed-demo.txt

1 Linux操作系统

2 Unix操作系统

3 RHEL

4顶红帽子

5顶软呢帽

6 Arch Linux

7厘

8 Debian

9 Ubuntu

3)如何删除指定行?

使用以下sed命令删除sed-demo.txt中的第3行..

# sed '3d' sed-demo.txt

1 Linux操作系统

2 Unix操作系统

4顶红帽子

5顶软呢帽

6 Arch Linux

7厘

8 Debian

9 Ubuntu

10 openSUSE

4)如何删除指定范围内的行?

使用以下sed命令删除sed-demo.txt中的第5行到第7行..

# sed '5,7d' sed-demo.txt

1 Linux操作系统

2 Unix操作系统

3 RHEL

4顶红帽子

8 Debian

9 Ubuntu

10 openSUSE

5)如何删除多行内容?

Sed命令可以删除一组给定的行。

在本例中,以下sed命令删除第一、第五、第九和最后一行。

# sed ' 1d5d;9d;$d' sed-demo.txt

2 Unix操作系统

3 RHEL

4顶红帽子

6 Arch Linux

7厘

8 Debian

5a)如何删除指定范围外的行?

使用以下sed命令删除sed-demo.txt中除第3行到第6行范围之外的所有行。

# sed '3,6!d' sed-demo.txt

3 RHEL

4顶红帽子

5顶软呢帽

6 Arch Linux

6)如何删除空行?

使用以下sed命令删除sed-demo.txt中的空行

# sed '/^$/d' sed-demo.txt

1 Linux操作系统

2 Unix操作系统

3 RHEL

4顶红帽子

5顶软呢帽

6 Arch Linux

7厘

8 Debian

9 Ubuntu

10 openSUSE

7)如何删除包含某个模式的行?

使用以下sed命令删除sed-demo.txt中与系统模式匹配的行。

# sed '/System/d' sed-demo.txt

3 RHEL

4顶红帽子

5顶软呢帽

6 Arch Linux

7厘

8 Debian

9 Ubuntu

10 openSUSE

8)如何删除字符串集合中包含字符串的一行?

使用以下sed命令删除sed-demo.txt中与System或Linux表达式匹配的行。

# sed '/System | Linux/d ' sed-demo . txt

3 RHEL

4顶红帽子

5顶软呢帽

7厘

8 Debian

9 Ubuntu

10 openSUSE

9)如何删除以指定字符开头的一行?

为了测试,我创建了sed-demo-1.txt文件,并添加了以下内容。

# cat sed-demo-1.txt

Linux操作系统

Unix操作系统

红帽企业版

枢机主教红帽

费多拉帽

一种自由操作系统

人的本质

Arch Linux - 1

2 - Manjaro

3 4 5 6

使用以下sed命令删除所有以r字符开头的行。

# sed '/^R/d' sed-demo-1.txt

Linux操作系统

Unix操作系统

费多拉帽

一种自由操作系统

人的本质

Arch Linux - 1

2 - Manjaro

3 4 5 6

使用以下sed命令删除以r或f字符开头的所有行。

# sed '/^/d' sed-demo-1.txt

Linux操作系统

Unix操作系统

一种自由操作系统

人的本质

Arch Linux - 1

2 - Manjaro

3 4 5 6

10)如何删除以指定字符结尾的行?

使用以下sed命令删除m字符末尾的所有行。

# sed '/m$/d' sed-demo.txt

3 RHEL

4顶红帽子

5顶软呢帽

6 Arch Linux

7厘

8 Debian

9 Ubuntu

10 openSUSE

使用以下sed命令删除x或m字符末尾的所有行。

# sed '/$/d' sed-demo.txt

3 RHEL

4顶红帽子

5顶软呢帽

7厘

8 Debian

9 Ubuntu

10 openSUSE

11)如何删除所有以大写字母开头的行?

使用以下sed命令删除所有以大写字母开头的行。

# sed '/^/d' sed-demo-1.txt

一种自由操作系统

人的本质

2 - Manjaro

3 4 5 6

12)如何删除指定范围内与图案匹配的线条?

使用以下sed命令删除包含Linux表达式的第1行到第6行。

# sed '1,6 {/Linux/d;}' sed-demo.txt

2 Unix操作系统

3 RHEL

4顶红帽子

5顶软呢帽

7厘

8 Debian

9 Ubuntu

10 openSUSE

13)如何删除匹配的图案行及其下一行?

使用以下sed命令删除包含系统表达式的行及其下一行。

# sed '/System/{ N;d .}' sed-demo.txt

3 RHEL

4顶红帽子

5顶软呢帽

6 Arch Linux

7厘

8 Debian

9 Ubuntu

10 openSUSE

14)如何删除包含数字的行?

使用以下sed命令删除所有包含数字的行。

# sed '//d' sed-demo-1.txt

Linux操作系统

Unix操作系统

红帽企业版

枢机主教红帽

费多拉帽

一种自由操作系统

人的本质

使用以下sed命令删除所有以数字开头的行。

# sed '/^/d' sed-demo-1.txt

Linux操作系统

Unix操作系统

红帽企业版

枢机主教红帽

费多拉帽

一种自由操作系统

人的本质

Arch Linux - 1

使用以下sed命令删除所有以数字结尾的行。

# sed '/$/d' sed-demo-1.txt

Linux操作系统

Unix操作系统

红帽企业版

枢机主教红帽

费多拉帽

一种自由操作系统

人的本质

2 - Manjaro

15)如何删除包含字母的一行?

使用以下sed命令删除所有包含字母的行。

# sed '//d ' sed-demo-1 . txt

3 4 5 6

via:https://www . 2 day geek . com/Linux-remove-delete-lines-in-file-sed-command/

这篇文章最初由LCTT编辑,由中国Linux发行

1.《ubuntu删除文件夹命令 如何使用 sed 命令删除文件中的行》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《ubuntu删除文件夹命令 如何使用 sed 命令删除文件中的行》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/junshi/1674384.html