Linux Sed 命令

简介

Sed(Stream Editor)是一个强大的文本处理工具,常用于对文本进行筛选、转换和替换操作。它通过读取输入流中的文本,并根据提供的编辑指令进行相应的操作。Sed非常灵活,可用于在文件中进行全局搜索与替换、插入和删除行等操作。

安装 Sed

大多数Linux发行版都默认安装了Sed。如果您的系统上没有安装Sed,可以使用以下命令进行安装:

  • 对于Debian/Ubuntu系统:

    sudo apt-get install sed
    
  • 对于CentOS/RHEL系统:

    sudo yum install sed
    

基本语法

Sed命令的基本语法如下:

sed [选项] '编辑指令' 文件名

其中,选项可以是以下之一:

  • -n:关闭默认输出,只显示经过编辑的行。
  • -i:直接修改源文件,而不是将结果输出到标准输出。
  • -e:允许在命令行上使用多个编辑指令。

编辑指令由动作和模式组成,可以单独使用或连续使用多个指令。

常用编辑指令

以下是一些常用的Sed编辑指令

替换文本

  • 替换文件中第一个匹配到的文本:

    sed 's/原始文本/新文本/' 文件名
    

    例如:

    sed 's/foo/bar/g' filename
    
  • 全局替换所有匹配的文本:

    sed 's/原始文本/新文本/g' 文件名
    
  • 仅替换某行中的第N次出现的文本:

    sed '行号s/原始文本/新文本/N' 文件名
    

删除行

  • 删除指定行号的行:
    sed '行号d' 文件名
    
  • 删除包含特定文本的行:
    sed '/要删除的文本/d' 文件名
    
    例如:
    删除以#开头的注释行
    sed '/^#/d' filename
    
  • 删除空白行:
    sed '/^$/d' 文件名
    

插入和附加文本

  • 在指定行之前插入文本:
    sed '行号i\要插入的文本' 文件名
    
  • 在指定行之后附加文本:
    sed '行号a\要附加的文本' 文件名
    
  • 在匹配到的行前插入文本:
    sed '/pattern/i\inserted text' file.txt
    
  • 在匹配到的行后附加文本:
    sed '/pattern/a\appended text' file.txt
    

执行命令

  • 在指定行执行一系列命令:
    sed '/正则表达式/{
        命令1
        命令2
        ...
    }' 文件名
    

正则表达式匹配

  • 对与正则表达式匹配的行执行一系列命令:
sed '/正则表达式/{
    命令1
    命令2
    ...
}' 文件名
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值