博客
关于我
Linux学习之sed命令详解
阅读量:793 次
发布时间:2023-02-03

本文共 1242 字,大约阅读时间需要 4 分钟。

sed 命令入门指南

概述

sed 是 stream editor 的简称,意为流编辑器。它是一种强大的文本处理工具,能够在文本流中逐行处理数据。与其他编辑器不同,sed 不会打开整个文件进行处理,而是逐行读取内容,执行一系列命令后再输出结果。这样可以大大提高处理效率,特别是在处理大量文本时。

sed 命令语法

sed 命令的基本语法格式如下:

sed [option] 'command' input_file

其中,option 是可选参数,常用的有:

  • -n:启用安静模式(默认情况下,sed 会将所有输入行输出到屏幕,使用 -n 后,只有经过 sed 特殊处理的行会被输出)。
  • -e:直接在命令行上进行 sed 的动作编辑。
  • -f:将 sed 命令写入文件执行。
  • -r:启用扩展正则表达式支持(默认是基础正则表达式)。
  • -i:直接修改文件内容而不输出到屏幕。

常用命令

以下是 sed 的几种常用命令:

  • a:追加字符串

    使用格式:a \text,将 text 插在当前行后面。支持多行字符串,使用 \n 分隔。

  • c:替换字符串

    使用格式:c \text,将当前行替换为 text。支持多行字符串,使用 \n 分隔。

  • d:删除行

    删除当前选中的行。

  • i:插入字符串

    使用格式:i \text,将 text 插在当前行前面。支持多行字符串,使用 \n 分隔。

  • p:打印行

    将当前行打印到屏幕。通常与 -n 选项结合使用。

  • s:替换字符串

    使用格式:s old new/g,将所有匹配 old 的行替换为 newg 表示全局替换。

  • 命令示例

    以下是一些实际使用示例:

    1. 追加字符串

    sed '1a \add one' test.txt

    输出结果:

    this is first lineadd onethis is second line...

    2. 全局替换

    sed 's/line/text/g' test.txt

    输出结果:

    this is first textthis is second text...

    3. 替换特定行

    sed '/^ha.*day$/s/happy/very happy/g' test.txt

    输出结果:

    this is first linethis is second linethis is third linethis is fourth linevery happy everydayend

    4. 删除特定行

    sed '/^ha.*day$/d' test.txt

    输出结果:

    this is first linethis is second linethis is third linethis is fourth linethis is fifth lineend

    小结

    通过上述命令示例,可以看出 sed 的强大功能。无论是简单的文本处理还是复杂的字符串替换,sed 都能轻松应对。熟练掌握 sed 命令将极大提升你的文本处理效率。

    转载地址:http://bhzfk.baihongyu.com/

    你可能感兴趣的文章
    linux下vi编辑器使用方法
    查看>>
    linux下vi编辑某文件时,操作出现 错误提示: E325: ATTENTION 2, Found a swap file by the name ".p1.c.swp"...
    查看>>
    linux下vsode超级用户运行
    查看>>
    Linux下以C构建WEB服务并响应XHR(XMLHttpRequest)请求
    查看>>
    linux下使用logrotate切割nginx日志
    查看>>
    Linux下使用popen()执行shell命令
    查看>>
    linux下使用source /etc/profile保存配置后,新的环境变量只能在一个终端里面有效...
    查看>>
    Linux下修改Apache根目录
    查看>>
    linux下删除目录及其子目录下某种类型文件
    查看>>
    linux下删除除了指定文件以外文件
    查看>>
    linux下利用nohup后台运行jar文件包程序
    查看>>
    linux下利用nohup后台运行jar文件包程序
    查看>>
    Linux下如何安装jdk
    查看>>
    Linux下学【MySQL】中如何实现:多表查询(配sql+实操图+案例巩固 通俗易懂版~)
    查看>>
    Linux下安装c/c++环境(gcc/gcc+)
    查看>>
    linux下安装GPU 版本 torch torchvision等最方便的方式
    查看>>
    linux下安装jdk7
    查看>>
    linux下安装Maven
    查看>>
    linux下安装memcached以及扩展(xampp环境)
    查看>>
    linux下安装mongodb,以及解决安装报错问题
    查看>>