实战基本的Linux sed命令示例代码

 更新时间:2018年10月19日 15:38:56   作者:醉落红尘  
Linux流编辑器是在数据中心中运行脚本的一种有用方法。通过这些命令示例,您可以开始熟悉sed,需要的朋友可以参考下

Linux流编辑器是在数据中心中运行脚本的一种有用方法。通过这些命令示例,您可以开始熟悉sed。

想要修改文件而不覆盖原始文件的Linux管理员有很多选择,但最有效的工具之一是流编辑器 - sed。

流编辑器是大多数Linux发行版的默认部分。它使您能够使用Linux sed命令在操作系统中执行文本文件操作。

与大多数Linux应用程序一样,sed可以处理管道输入,这使它成为一种有效的脚本工具。您可以将其用作基本的查找和替换工具,如下面的示例命令所示,该命令查找出现的一个实例,并将其替换为两个实例。命令以 /g结束。

sed 's/one/two/g' linuxidc linuxmi

例如,这个Linux sed命令可以帮助您定位和创建配置文件的新版本。当这些函数作为脚本的一部分运行时,它们是可重复的和一致的,并且您可以快速实现更改。

但是sed的主要目的是更改文本文件的内容。它使用了一些重要的命令行开关。/s表示搜索,该命令以/g分隔。-i开关在适当的位置上运行命令——它直接修改文件。

sed -i 's/Port 22/Port 10000/g' /etc/ssh/sshd_config

在此示例中,/etc/ssh/sshd_config文件中Secure Shell服务器中使用的端口号从默认端口22更改为端口10000。

使用Linux sed命令进行文件更改

可以使用sed编辑文件,但有点不满意。 ad hoc编辑可能会导致问题,因为sed无法访问完整的源代码,也无法识别错误或拼写错误。 此外,这样做会使原始文件处于危险之中,因为一旦您更改了原始代码,就无法恢复原始代码。

您可以使用-e开关一次指定多个更改。 同样,sshd_config.conf文件使得更改多行变得简单。 下面的脚本可能看起来很复杂,但操作系统只是传递多个sed更改数据包,每个数据包前缀为-e。

使用sshd_config文件,您可以更改端口号,禁用密码身份验证并一步启用公钥身份验证。

sed -i -e 's/Port 22/Port 10000/g' -e '
s/PermitRootLogin yes/PermitRootLogin no/g' -e '
s/PasswordAuthentication yes/PasswordAuthentication no/g' -e '
s/#PasswordAuthentication no/#PasswordAuthentication no/g' /etc/ssh/sshd_config

搜索和替换功能在新的一行; 用\分解命令不起作用,因为sed将其视为特殊字符。

结合sed中的提示

您还可以将多个Linux sed命令链接在一起以更改应用程序的位置。 手动修改文件路径有很大的错误空间,但自动化它可以使生活更轻松。

用作分隔符的反斜杠可能不适用于某些脚本,但sed允许您更改分隔符。 例如,假设您有一个名为example.conf的日志文件,其中包含以下内容:

logpath = /var/log/mylogfile.log

将此路径更改为/my/alternate/path/newlog.log,您可以使用|作为分隔符,因为/在文件系统路径中不起作用。

sed -i 's|/var/log/mylogfile.log|/my/alternate/path/newlog.log|g' example.conf

使用Linux sed命令的其他方法包括使用^#MyComment为搜索模式添加前缀; 这会搜索以#MyComment开头的行。 您可以在输出端使用它,以便创建一个新行来替换现有的一行。 您还可以使用$字符在行尾查找内容。

要查看更高级的示例,请使用man sed命令。 它提供了更详细的命令和语法分解。

总结

以上所述是小编给大家介绍的实战基本的Linux sed命令示例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • Apache常用虚拟主机配置方法解析

    Apache常用虚拟主机配置方法解析

    这篇文章主要介绍了Apache常用虚拟主机配置方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • 在Linux系统上查看Apache服务器的错误日志

    在Linux系统上查看Apache服务器的错误日志

    这篇文章主要介绍了在Linux系统上查看Apache服务器的错误日志,是服务器运维必备的基础知识,需要的朋友可以参考下
    2015-07-07
  • Apache中启用Server Status配置示例

    Apache中启用Server Status配置示例

    这篇文章主要介绍了Apache中启用Server Status配置示例,本文首先讲解了什么是Apache Server Status,然后给出了配置示例,需要的朋友可以参考下
    2014-09-09
  • CentOS7 LNMP+phpmyadmin环境搭建 第三篇phpmyadmin安装

    CentOS7 LNMP+phpmyadmin环境搭建 第三篇phpmyadmin安装

    这篇文章主要介绍了CentOS7 LNMP+phpmyadmin环境搭建,第三篇phpmyadmin安装,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • Linux系统下为Nginx安装多版本PHP

    Linux系统下为Nginx安装多版本PHP

    本文为大家讲解了如何在Linux,Nginx环境下安装多版本PHP,并支持每个站点不同PHP版本的安装配置方法
    2018-10-10
  • Easypanel免费的VPS主机面板 可跨平台Linux和Windows

    Easypanel免费的VPS主机面板 可跨平台Linux和Windows

    Easypanel是一款免费的功能强大集开通虚拟主机,ftp空间,数据库等功能为一体的主机控制面板,具备跨平台(windows,linux),安全稳定、操作简便等特点,感兴趣的小伙伴们可以关注一下
    2017-07-07
  • kali linux 系统版本的查看方法

    kali linux 系统版本的查看方法

    今天小编就为大家分享一篇kali linux 系统版本的查看方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Linux下解压,压缩JAR包的简单方法

    Linux下解压,压缩JAR包的简单方法

    下面小编就为大家带来一篇Linux下解压,压缩JAR包的简单方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • linux下修改MAC地址问题解决方法

    linux下修改MAC地址问题解决方法

    在linux中,修改MAC地址(修改的MAC地址跟原来的地址不同),接下来为大家介绍下修改MAC地址时所遇到的问题,感兴趣的朋友可以参考下哈
    2013-04-04
  • linux服务器被植入ddgs、qW3xT.2挖矿病毒的处理实战记录

    linux服务器被植入ddgs、qW3xT.2挖矿病毒的处理实战记录

    这篇文章主要给大家介绍了关于linux服务器被植入ddgs、qW3xT.2挖矿病毒的处理的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起看看吧
    2018-09-09

最新评论