linux中如何删除文件中的指定行

2024-10-18 17:21:13

linux服务器上,很多软件都是使用配置文件来更新配置的,有时候需要去掉文件中的指定行,下面我们来看下,怎么删除文件中的指定行。

工具/原料

sed工具

一、正则表达式删除

1、指定的行可以分为两类,分别是:1. 符合指定条件的行2. 指定行号的行我们先来看符合指定条件的行。在linux服务器管理过程中,很多配置文件里的注释非常长,如下面图中所示,是一个postgresql的配置文件,配置只有两行,但是注释可能有10几行。这种情况比较常见。

linux中如何删除文件中的指定行linux中如何删除文件中的指定行

4、将排除空白行和排除注释行的代码结合到一起,最后输出的就是所有的配置行。使用重定囿鹣分胰向命令>>将所有的结果输出到一个新的ngi荏鱿胫协nx.conf文件中,就相当于删除掉了需要排除的行。如下面图中所示。如果你还想删除其他行,使用同样的原理,找到对应行的字符串规则,然后使用匹配的正则表达式,用grep命令的-v选项排除掉这些行即可。

linux中如何删除文件中的指定行

2、现在我想删除掉对应的行,我们来看一下sed命令是如何操作的,如下面图中所示。sed命令的应用方式是:sed '1d' nginx.conf这个命令表示删除掉这个配置文件中的第1行,1表示行号,d表示删除。最终的输出结果中我们看到只有2行注释了。

linux中如何删除文件中的指定行

4、那你肯定会问了,有没有直接修改源文件的方法?当然有,但是这个操作非常危险,建议不要在生产环境上直接操作。如下面图中所示,直接在sed命令后面加上-i选项即可。这样sed命令就会直接修改源文件。执行结果不会有任何输出,

linux中如何删除文件中的指定行
猜你喜欢