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 '/^[RF]/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 '/[xm]$/d' sed-demo.txt
3 RHEL
4顶红帽子
5顶软呢帽
7厘
8 Debian
9 Ubuntu
10 openSUSE
11)如何删除所有以大写字母开头的行?
使用以下sed命令删除所有以大写字母开头的行。
# sed '/^[A-Z]/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 '/[0-9]/d' sed-demo-1.txt
Linux操作系统
Unix操作系统
红帽企业版
枢机主教红帽
费多拉帽
一种自由操作系统
人的本质
使用以下sed命令删除所有以数字开头的行。
# sed '/^[0-9]/d' sed-demo-1.txt
Linux操作系统
Unix操作系统
红帽企业版
枢机主教红帽
费多拉帽
一种自由操作系统
人的本质
Arch Linux - 1
使用以下sed命令删除所有以数字结尾的行。
# sed '/[0-9]$/d' sed-demo-1.txt
Linux操作系统
Unix操作系统
红帽企业版
枢机主教红帽
费多拉帽
一种自由操作系统
人的本质
2 - Manjaro
15)如何删除包含字母的一行?
使用以下sed命令删除所有包含字母的行。
# sed '/[A-Za-z]/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.《linux删除文件夹命令 如何使用 sed 命令删除文件中的行》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《linux删除文件夹命令 如何使用 sed 命令删除文件中的行》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/shehui/1080143.html