linux的sed工具是十分强大的,能很容易的实现在某关键词的前一行或后一行增加内容。今天在批量修改tomcat的日志时就用到了该功能。

一、在某行的前一行或后一行添加内容

具休操作如下:

复制代码

代码如下:

#匹配行前加

sed -i '/toxingwang.com/iwww.toxingwang.com' the.conf.file

#匹配行前后

sed -i '/toxingwang.com/awww.toxingwang.com' the.conf.file

而在书写的时候为便与区分,往往会在i和a前面加一个反加一个反斜扛 。代码就变成了:

复制代码

代码如下:

sed -i '/2222222222/a\3333333333' test.txt

sed -i '/2222222222/i\3333333333' test.txt

这就就可以很方便的看出要在某一行前或某一行后加入什么内容 。不过经常我记不住a 、i 那个是前那个是后。我的记法是a = after ,i = in front 。这样就知道 i 是前,a 是后了。不过官方的man文件里不是这样解释的,man文件里是这样解释的:

复制代码

代码如下:

a \

text Append text, which has each embedded newline preceded by a backslash.

i \

text Insert text, which has each embedded newline preceded by a backslash.

而且其可以配合find查找的内容处理,如下:

复制代码

代码如下:

find . -name server.xml|xargs sed -i '/directory/i '

二、在某行(指具体行号)前或后加一行内容

复制代码

代码如下:

sed -i 'N;4a\ddpdf' a.txt

sed -i 'N;4i\eepdf' a.txt

这里指定的行号是第四行 。

三、删除指定行的上一行或下一行

#删除指定文件的上一行

复制代码

代码如下:

sed -i -e :a -e '$!N;s/.*n(.*directory)/1/;ta' -e 'P;D' server.xml

#删除指定文件的下一行

sed -i '/pattern="%/{n;d}' server.xml

这个写起来有点长,一般如果不是shell里的需要,我更喜欢用vim去处理。另外需要注意的是,在vim里如果替换的内容里tab这样的符号是需要在编辑模式下分别按ctrl+v 和crtl+I ,而不是不停的几个空格。

linux sed给空文件首行插入_Linux系统中sed命令在文件某行前后添加内容的用法相关推荐

  1. linux sed给空文件首行插入_linux下批量修改文件后缀名以及合并多行

    写在前面 感谢乔兄送测的公司,让我终于所有营业 part1讲下怎么解决小问题 part2分享谈判过程 part3mark张兄的奶茶 PART1 linux下批量修改文件后缀名以及合并多行 近期师兄在做 ...

  2. linux sed给空文件首行插入_Sed命令高级功能,学好了工作不愁

    原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处. sed命令有两个空间,一个叫pattern space,一个叫hold space.这两个空间能够证明人类的脑瓜容量是非常 ...

  3. tail是Linux命令吗,linux系统中tail命令的使用详解

    Linux系统中tail命令是查看文件末尾内容的主要功能,下面由学习啦小编为大家整理了linux系统中tail命令的使用详解,希望对大家有帮助! linux系统中tail命令的使用详解 1 命令功能 ...

  4. linux常用删除空文件夹,Linux基础 linux系统中的批量删除文件与空文件删除的命令介绍...

    Linux基础教程linux系统中的批量删除文件与空文件删除的命令介绍 Linux资料下面删除文件或者目录命令rm(remove): Linux培训功能说明:删除文件或目录. 语 法:rm [-dfi ...

  5. mysql隐藏密码_MySQL在Linux系统中隐藏命令行中的密码的方法

    在命令行中输入命令并不是一个好主意,会造成安全问题.但是如果你决定去写一个应用,而这个应用需要在命令行中使用密码或者其他敏感信息.那么,你能通过以下方法禁止系统的其他用户轻易的看到这些敏感数据 呢?, ...

  6. Linux系统中常用命令行命令、快捷键、创建长路径的快捷键

    Linux系统中常用命令行命令.快捷键.创建长路径的快捷键 1.常用Linux命令: 1.1 文件和目录: cd /home 进入 '/home' 目录 cd - 返回上一级目录 cd -/- 返回上 ...

  7. find linux 目录深度_浪里淘沙,详解Linux系统中Find命令的实用技巧

    知了小巷:浪里淘沙,详解Linux系统中Find命令的实用技巧. 啊哈,找到了! 当我们需要在Linux系统上定位某个文件或目录时,find命令通常是必备之选. 它使用起来非常简单,但有许多不同的可选 ...

  8. linux系统英语词汇大全,linux系统中常命令和英语词汇.docx

    linux系统中常命令和英语词汇 Linux系统管理中基本命令和英语词汇?第一章linux系统简介及安装Open Source Software???? 开放源代码软件GNU??? General P ...

  9. php执行md5sum,Linux_详解Linux系统中md5sum命令的用法,MD5算法常常被用来验证网络文 - phpStudy...

    详解Linux系统中md5sum命令的用法 MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改.MD5全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任 ...

最新文章

  1. [Gdal-dev] GCP's, Warping and Source Data Projections
  2. Redis集群解决方案比较
  3. 不重启docker容器修改 容器中的时区
  4. Nacos长连接诉求分析
  5. VS2010的详细安装
  6. 电机功率与转矩/扭矩的关系
  7. idea中MySQL数据库分页
  8. FoxMail邮箱配置
  9. 算法与数据结构学习资源大搜罗——良心推荐
  10. 高深术语——依赖倒置•控制反转•依赖注入•面向接口编程
  11. python3入门与进阶笔记_Python3入门与进阶【笔记】
  12. 趋势:TypeScript - 一种思维方式
  13. 多米诺骨牌问题Push Dominoes
  14. p语言是python吗-Python是什么?简单了解pythonp-入门
  15. 区块链+人工智能,重新定义世界
  16. 20150609.C语言-尹成-专题视频课程
  17. MindMapper中如何添加备注
  18. frida-ios-dump实现iOS应用砸壳
  19. 迷宫寻宝(宽度搜索)(C++)
  20. 百度腾讯QQ等网站注册自动提交表单源码2012最新

热门文章

  1. 紧跟大佬的步伐:关于我亲自动手复现了恺明新作MAE这件事
  2. 9个技巧让你的PyTorch模型训练变得飞快!
  3. 10 号发工资和 20 号发工资的公司,区别竟然这么大?
  4. 人民日报:中国 31 个省市区最好的大学
  5. 这只狗,其实是猫变的:“撸猫神器”StarGAN v2来了!
  6. 有哪些相见恨晚的学习算法的方法和技巧?学到了学到了!
  7. 视学算法第六轮送书活动,16本高质量书免费拿走!
  8. MySQL数据库中外键SQL语句的编写
  9. 为什么要使用sigmoid,tanh,ReLU等非线性函数?
  10. 复习计算机网络基础 day3---什么是计算机网络: