广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

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

    来源:网络收集  点击:  时间:2024-03-13
    【导读】:
    linux服务器上,很多软件都是使用配置文件来更新配置的,有时候需要去掉文件中的指定行,下面我们来看下,怎么删除文件中的指定行。工具/原料moresed工具一、正则表达式删除1/4分步阅读

    指定的行可以分为两类,分别是:

    1. 符合指定条件的行

    2. 指定行号的行

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

    2/4

    因此就需要通过正则表达式来去掉里面指定的注释行或者空行。上面的postgresql图片示例中注释太多,不太好看清楚,我们这里使用一个nginx的配置文件,如下面第一张,前面有3行#号开头的注释,后面有若干行配置文件。

    在正则表达式里,^符号表示开头,$符号表示结尾。因此空白的行就可以表示为^$,即一个开头,一个结尾,中间没有任何符号,如下面第二张图中所示,通过grep命令来查找,-v选项表示排除符合条件的选项。即找出所有非空行。可以看到,结果中显示了所有的注释行和配置行,空白行被删除了。

    3/4

    以#号开头的行,按照上面说到的规则,就可以表示为^#,如下面图中所示,通过grep 命令的-v选项,排除掉以#号开头的行,就会显示出所有的配置行和空白行,#号开头的注释行被删除了。

    4/4

    将排除空白行和排除注释行的代码结合到一起,最后输出的就是所有的配置行。使用重定向命令将所有的结果输出到一个新的nginx.conf文件中,就相当于删除掉了需要排除的行。如下面图中所示。

    如果你还想删除其他行,使用同样的原理,找到对应行的字符串规则,然后使用匹配的正则表达式,用grep命令的-v选项排除掉这些行即可。

    二、通过sed命令编辑对应的文件1/5

    我们使用cp命令重新复制一份新的nginx.conf配置文件到当前目录下。刚才说到的是,使用正则表达式删除掉匹配的行。现在我们来说一下,如何删除掉指定行号的行,如下面图中所示,这个nginx.conf配置文件中第1-3行是注释文件。

    2/5

    现在我想删除掉对应的行,我们来看一下sed命令是如何操作的,如下面图中所示。sed命令的应用方式是:

    sed 1d nginx.conf

    这个命令表示删除掉这个配置文件中的第1行,1表示行号,d表示删除。最终的输出结果中我们看到只有2行注释了。

    3/5

    但是sed命令默认情况下,不会修改原来的配置文件,只会将修改后的结果输出。如下面图中所示,我们打开nginx.conf配置文件,可以看到还是有3行注释。

    这是为了避免用户修改源文件,导致配置出错。我们这里删除的是注释行,没有任何问题。但是当你删除的是配置行的时候,可能就会导致软件运行出错了。

    因此可以将修改后的结果重定向到新的文件,然后将原来的配置文件备份以后,用新的配置文件替换。这样即使出错,也可以用备份的文件恢复,更安全。

    4/5

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

    5/5

    执行完毕后我们用vim编辑器打开nginx.conf文件,如下面图中所示,可以看到第1-3行已经消失,配置文件就被改变了。因此,在修改系统配置文件或者重要的软件配置文件时,这个命令一定要非常小心地使用。尽量先备份配置文件。

    注意事项

    修改系统重要配置时,建议先备份,后修改。

    本人原创,转载请声明。

    LINUX配置文件SED删除指定行正则表达式
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_337429.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-04 23:15:28  耗时:0.025
    0.0255s