Linux使用sed命令替换字符串教程

 更新时间:2019年01月23日 16:44:14   投稿:laozhang  
在本篇文章中小编给大家分享了关于Linux下如何使用sed命令替换字符串的相关知识点内容,有需要的朋友们学习下。

要替换字符串,我们需要使用以下格式。

$ sed s/替换的目标字符串/替换后的字符串/ 文件名

在下面我们替换写为“appleorangemelon”的字符串“sample.txt”。

$ sed s/orange/ORANGE/ sample.txt

执行结果为

appleORANGEmelon

替换并输出字符串。

另外,如下所示,在cat命令后用“|”连接sed命令也能得到同样的结果。

$ cat sample.txt | sed s/apple/APPLE/

注意,sed命令仅替换字符串并输出它,但不会重写实际文件的内容

如果要将替换的内容保存在文本中,请使用重定向“>”。

sed命令使用的选项

命令选项 说明
-e 替换为指定的脚本
-f 文件 添加指定文件中描述的脚本文件的内容
-r 使用扩展正则表达式

sed命令的使用

替换所有行

在先前介绍的格式中,即使在一个行中存在与多个替换对象字符串匹配的字符串,也仅替换第一个匹配的字符串。

因此,要替换所有匹配的字符串,请执行以下操作:

$ sed -e s/apple/APPLE/g sample.txt

执行结果为

APPLEorangemelonAPPLE

替换行的开头与结尾

$ sed -e "s/^apple/APPLE/" sample.txt
$ sed -e "s/apple\$/APPLE/" sample.txt

如果要替换多个子字符串,则可以指定多个脚本。

$ sed -e "s/apple/APPLE/" -e "s/orange/ORANGE/" sample.txt

删除行

指定“d”以删除指定的行。例如,要删除第二行就为“2d”。

$ sed -e '2d' sample.txt

此外,也可以删除多行,下面是删除第1行到第3行。

$ sed -e '1,3d' sample2.txt

相关文章

  • 优化Apache服务器性能的方法小结

    优化Apache服务器性能的方法小结

    尽管Apache是一个高可定制的功能强大且相当复杂的服务器软件,我们很有兴趣的注意到即使是Apache的标准安装也可以得到不错的性能。
    2010-12-12
  • 一文详解Linux如何设置特殊权限

    一文详解Linux如何设置特殊权限

    setuid,setgid和sticky是 Linux 中的特殊权限,可以对文件和目录的访问和执行方式提供额外的控制,下面就跟随小编一起来了解一下它们的具体使用吧
    2024-12-12
  • Linux中将.c文件转换为可执行文件的方法

    Linux中将.c文件转换为可执行文件的方法

    在 Linux 环境下进行 C 语言编程时,将 .c 文件转换为可执行文件是一个关键的步骤,这个过程涉及到使用编译器和一些相关的工具,本文将详细介绍在 Linux 系统中如何将 .c 文件转换为可执行文件的方法,需要的朋友可以参考下
    2024-08-08
  • Linux中串口检查状态的实用方法分享

    Linux中串口检查状态的实用方法分享

    在 Linux 系统中,串口通信是非常常见的操作,尤其在嵌入式系统、工业设备以及其他需要串行通信的场景中,本文为大家整理了一些Linux中串口检查状态的实用方法,希望对大家有所帮助
    2025-01-01
  • linux网络NAT配置方式详解

    linux网络NAT配置方式详解

    这篇文章主要为大家详细介绍了linux网络NAT配置方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • 火山互联linux VPS配置方法

    火山互联linux VPS配置方法

    火山互联推出的免费VPS...拿来学习下还是不错的.申请过几次Liunx系统的.由于不是很熟悉.几次都没能配置好.下面介绍一下.前几天又申请了一个.
    2009-12-12
  • Centos5给/根分区扩容

    Centos5给/根分区扩容

    今天在调整VPS的时候发现自己的/分区的空间用光了.但是还剩下一个分区hda3没动.于是乎.想调整到根下面去.但是由于本人新手一个.又不太了解linux的分区机制.
    2010-06-06
  • Linux网络相关配置文件

    Linux网络相关配置文件

    这篇文章主要介绍了Linux网络相关配置文件的相关资料,通过本文希望大家能对Linux 网路配置文件的掌握,需要的朋友可以参考下
    2017-08-08
  • Linux下“/”和“~”的区别详解

    Linux下“/”和“~”的区别详解

    这篇文章主要介绍了Linux下“/”和“~”的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Ubuntu 12.04 64位 对Python 源代码编译详解

    Ubuntu 12.04 64位 对Python 源代码编译详解

    这篇文章主要介绍了Ubuntu 12.04 64位 对Python 源代码编译的相关资料,需要的朋友可以参考下
    2017-01-01

最新评论