Linux如何删除文件中的某几行?老男孩SRE工程师培训
老男孩IT教育
常见问题
2022年10月19日 10:23
在Linux系统中,我们不管做什么动作,都是需要通过执行命令来完成的,在实际运用中,我们也会遇到这么一个需求,需要删除某个文件的某几行,那该如何实现这个功能呢?以下是详细的内容:
在Linux系统中,我们不管做什么动作,都是需要通过执行命令来完成的,在实际运用中,我们也会遇到这么一个需求,需要删除某个文件的某几行,那该如何实现这个功能呢?以下是详细的内容:
在linux中,可以利用sed命令来删除指定文件的某几行。
sed是Stream Editor的简写,它用于在Linux中进行基本的文本转换,是文件操作的一个重要命令,所以,我们也可以用它来实现文本的删除操作。
下面是一些sed命令的使用示例,覆盖了大多数的使用场景,由浅入深地帮助你学习sed命令,让你轻松地实现高效删除文件的特定行内容。
首先我们准备一个演示文件sed-demo.txt,看看文件内容
cat sed-demo.txt
然后我们就可以运用sed命令进行实验了。
1、删除某一行
首先,我们先从删除某一行开始,比如删除第一行、最后一行,实际也就是第N行嘛。
删除第N行的命令格式:
sed 'Nd' file
我们来删除第一行试试:
sed '1d' sed-demo.txt
很简单是吧?这里就不多作解释了,你想要删除第几行的内容只需要把命令中的1替换一下就ok了。
那问题来了,最后一行用什么数字表示呢?这里给大家一个小提示,可以用美元符号$表示最后,所以删除最后一行的命令可以这么写:
sed '$d' sed-demo.txt
2、删除某些行
sed命令可以删除连续又或者不连续的行内容,删除连续的行,例如删除从5到7行的内容:
sed '5,7d' sed-demo.txt
删除不连续的行,例如删除第1 、第5 、第9和最后一行:
sed '1d;5d;9d;$d' sed-demo.txt
另外,它还可以配合逻辑非!使用,比如删除第3到6行以外的其他行:
sed '3,6!d' sed-demo.txt
3、删除空白行
sed还支持删除文件的空白行,命令如下:
sed '/^$/d' sed-demo.txt
提示:这里两个斜杠 / / 内的表达式起到了文本匹配的作用,大家可以参考正则表达式的使用方法。下面将列举一些常用的方法来加深大家的学习。
老男孩教育Linux运维云计算课程汇集了虚拟化、云计算、安全攻防、Python开发、SRE等技术,课堂效率高、内容丰富全面,由浅入深,循序渐进,帮助学员稳扎稳打,夯实基础,在有限的时间内帮助学员高效提升,成为符合企业需求的技术型人才。
推荐阅读:
