to be
a problem slover

sed命令详解

概述

sed 的意思是 Stream EDitor,即流式编辑器,sed 命令实现对文件的”增删改查“,玩转 sed 是写自动化脚本必须的基础之一。

sed 遵循简单的工作流:

  1. 读取(从输入中读取某一行)
  2. 执行(在某一行上执行 sed 命令)
  3. 显示(把结果显示在输出中)
  4. 默认是显示修改后内容,不会修改原文件,除非使用-i 参数。

查找替换

查找并替换文件中搜索到的内容
linux 下:

sed -i 's/original/new/g' file.txt

mac 下的 sed 是 bsd 版的,和 linux gnu 版略有区别,前面还需要指定一个备份文件后缀。

以下命令执行完,存在两个文件 file.txt file.txt.bup

sed -i '.bup' 's/original/new/g' file.txt

如果不需要备份也可以这么写的

sed -i '' 's/original/new/g' file.txt

在脚本中用 sed 做替换要区分系统类型

  if [ "$(uname)" == "Darwin" ]; then
    # mac sed script
  elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then
    # linux sed script
  fi

Last Updated on

赞(21) 打赏
欢迎转载,注明出处:刘世明的博客 » sed命令详解

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下作者

支付宝扫一扫打赏

微信扫一扫打赏