sed命令在文件中替换、插入

1.替换

sed -i '.bak' 's/oldtxt/newtxt/' filename

* oldtxt  原文本
* newtxt 新文本

2.插入

sed -i ‘.bak’ '28i\'$'\ninsert_text\n' filename

* 28  插入行
* InsertTxt 插入的文本

如果行号和插入文本都是变量,需要下面这种方式来操作:

sed -i '' ''"${line_num}"'i\
    '"${insert_text}"'\
    ' filename

注意事项:

sed -i在linux和mac中实现方式不同,会出现linux中执行通过的脚本在mac中不生效。

在mac中,sed 命令直接操作文件的时候,必须指定备份的格式,而在 linux 上,没有这个要求。

sed -i '' 's/hello/world/g' hello.php

-i之后加上一对引号指定备份格式,如果不需要备份,引号可为空。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、前言 我们都知道,在Linux中一切皆文件,比如配置文件,日志文件,启动文件等等。如果我们相对这些文件进行一些...
    以七v为书阅读 5,469评论 0 5
  • 第 2 章 SHELL 基础知识2.1 shell脚本我们在上面简单介绍了一下什么是shell脚本,现在我们来进一...
    LiWei_9e4b阅读 5,473评论 0 0
  • grep擅长查找,awk擅长分析(select),sed擅长批量编辑行 概述 SED的英文全称是 Stream E...
    piziyang12138阅读 4,438评论 0 3
  • 当我第一次看到这本书的名字时,我就知道,我一定会爱上这本书,我也知道写这本书的这个女人一定走过很不一样的路,但是现...
    董熙熙阅读 4,007评论 1 2
  • 无论是健康人,还是糖尿病人,无论是用西药、用中药,还是外源性注射胰岛素,在体内都是靠胰岛素来降血糖。 胰...
    众修堂刘老阅读 8,040评论 0 2

友情链接更多精彩内容