• 售前

  • 售后

热门帖子
入门百科

实战根本的Linux sed下令示例代码

[复制链接]
乔峰之逆风痰 显示全部楼层 发表于 2021-10-25 19:10:06 |阅读模式 打印 上一主题 下一主题
Linux流编辑器是在数据中央中运行脚本的一种有效方法。通过这些下令示例,您可以开始认识sed。
想要修改文件而不覆盖原始文件的Linux管理员有许多选择,但最有效的工具之一是流编辑器 - sed。
流编辑器是大多数Linux发行版的默认部分。它使您可以或许使用Linux sed下令在使用系统中实行文本文件使用。
与大多数Linux应用程序一样,sed可以处理管道输入,这使它成为一种有效的脚本工具。您可以将其用作根本的查找和更换工具,如下面的示例下令所示,该下令查找出现的一个实例,并将其更换为两个实例。下令以 /g竣事。
  1. sed 's/one/two/g' linuxidc linuxmi
复制代码

例如,这个Linux sed下令可以帮助您定位和创建设置文件的新版本。当这些函数作为脚本的一部分运行时,它们是可重复的和同等的,而且您可以快速实现更改。
但是sed的重要目的是更改文本文件的内容。它使用了一些重要的下令行开关。/s体现搜刮,该下令以/g分隔。-i开关在得当的位置上运行下令——它直接修改文件。
  1. 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文件,您可以更改端标语,禁用暗码身份验证并一步启用公钥身份验证。
  1. sed -i -e 's/Port 22/Port 10000/g' -e '
  2. s/PermitRootLogin yes/PermitRootLogin no/g' -e '
  3. s/PasswordAuthentication yes/PasswordAuthentication no/g' -e '
  4. s/#PasswordAuthentication no/#PasswordAuthentication no/g' /etc/ssh/sshd_config
复制代码

搜刮和更换功能在新的一行; 用\分解下令不起作用,因为sed将其视为特殊字符。
连合sed中的提示
您还可以将多个Linux sed下令链接在一起以更改应用程序的位置。 手动修改文件路径有很大的错误空间,但自动化它可以使生活更轻松。
用作分隔符的反斜杠大概不适用于某些脚本,但sed允许您更改分隔符。 例如,假设您有一个名为example.conf的日记文件,其中包罗以下内容:
  1. logpath = /var/log/mylogfile.log
复制代码
将此路径更改为
  1. /my/alternate/path/newlog.log
复制代码
,您可以使用|作为分隔符,因为/在文件系统路径中不起作用。
  1. sed -i 's|/var/log/mylogfile.log|/my/alternate/path/newlog.log|g' example.conf
复制代码
使用Linux sed下令的其他方法包罗使用^#MyComment为搜刮模式添加前缀; 这会搜刮以#MyComment开头的行。 您可以在输出端使用它,以便创建一个新行来更换现有的一行。 您还可以使用$字符在行尾查找内容。
要查看更高级的示例,请使用man sed下令。 它提供了更详细的下令和语法分解。
[tr][/tr][td][/td]

[tr][/tr][td][/td]总结
以上所述是小编给各人先容的实战根本的Linux sed下令示例代码,希望对各人有所帮助,假如各人有任何疑问请给我留言,小编会及时复兴各人的。在此也非常感谢各人对脚本之家网站的支持!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作