sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法
sed命令行格式为:sed[-nefri]‘command’输入文本

常用选项:
-n∶使用安静(silent)模式。在一般sed的用法中,所有来自STDIN的资料一般都会被列出到萤幕上。但如果加上-n参数后,则只有经过sed特殊处理的那一行(或者动作)才会被列出来。
-e∶直接在指令列模式上进行sed的动作编辑;
-f∶直接将sed的动作写在一个档案内,-ffilename则可以执行filename内的sed动作;
-r∶sed的动作支援的是延伸型正规表示法的语法。(预设是基础正规表示法语法)
-i∶直接修改读取的档案内容,而不是由萤幕输出。

常用命令:
a∶新增,a的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
c∶取代,c的后面可以接字串,这些字串可以取代n1,n2之间的行!
d∶删除,因为是删除啊,所以d后面通常不接任何咚咚;
i∶插入,i的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
p∶列印,亦即将某个选择的资料印出。通常p会与参数sed-n一起运作~
s∶取代,可以直接进行取代的工作哩!通常这个s的动作可以搭配正规表示法!例如1,20s/old/new/g就是啦!

举例:(假设我们有一文件名为ab)
删除某行
[root@localhostruby]#sed'1d'ab#删除第一行
[root@localhostruby]#sed'$d'ab#删除最后一行
[root@localhostruby]#sed'1,2d'ab#删除第一行到第二行
[root@localhostruby]#sed'2,$d'ab#删除第二行到最后一行

  显示某行
.[root@localhostruby]#sed-n'1p'ab#显示第一行
[root@localhostruby]#sed-n'$p'ab#显示最后一行
[root@localhostruby]#sed-n'1,2p'ab#显示第一行到第二行
[root@localhostruby]#sed-n'2,$p'ab#显示第二行到最后一行

  使用模式进行查询
[root@localhostruby]#sed-n'/ruby/p'ab#查询包括关键字ruby所在所有行
[root@localhostruby]#sed-n'/\$/p'ab#查询包括关键字$所在所有行,使用反斜线\屏蔽特殊含义

  增加一行或多行字符串
[root@localhostruby]#catab
Hello!
rubyisme,welcometomyblog.
end
[root@localhostruby]#sed'1adrinktea'ab#第一行后增加字符串"drinktea"
Hello!
drinktea
rubyisme,welcometomyblog.
end
[root@localhostruby]#sed'1,3adrinktea'ab#第一行到第三行后增加字符串"drinktea"
Hello!
drinktea
rubyisme,welcometomyblog.
drinktea
end
drinktea
[root@localhostruby]#sed'1adrinktea\norcoffee'ab#第一行后增加多行,使用换行符\n
Hello!
drinktea
orcoffee
rubyisme,welcometomyblog.
end

  代替一行或多行
[root@localhostruby]#sed'1cHi'ab#第一行代替为Hi
Hi
rubyisme,welcometomyblog.
end
[root@localhostruby]#sed'1,2cHi'ab#第一行到第二行代替为Hi
Hi
end

  替换一行中的某部分
  格式:sed's/要替换的字符串/新的字符串/g'(要替换的字符串可以用正则表达式)
[root@localhostruby]#sed-n'/ruby/p'ab|sed's/ruby/bird/g'#替换ruby为bird
 [root@localhostruby]#sed-n'/ruby/p'ab|sed's/ruby//g'#删除ruby

插入
[root@localhostruby]#sed-i'$abye'ab#在文件ab中最后一行直接输入"bye"
[root@localhostruby]#catab
Hello!
rubyisme,welcometomyblog.
end
bye

转载于:https://blog.51cto.com/songjingang/1299890

linux之sed用法相关推荐

  1. linux之sed用法-转

    sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法 sed命令行格式为: sed [-nefri ...

  2. Linux命令-Sed用法教程

    sed 全名为 stream editor,是用于文本处理的流编辑器,支持正则表达式.sed处理文本... 前言 sed 全名为 stream editor,是用于文本处理的流编辑器,支持正则表达式. ...

  3. linux之sed用法 (文本处理工具)

     sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法 sed命令行格式为:          ...

  4. [zz]linux之sed用法

    sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法 sed命令行格式为:          se ...

  5. Linux 脚本执行遇到错误时中止,shell 文件内容替换 sed用法

    Linux 脚本执行遇到错误时中止, shell 脚本中 : set -x 是开启,   set +x是关闭  , set -e  表示有报错即退出, set  +e  表示关闭这种设置.  set ...

  6. linux中替换命令详解,linux中sed命令字符串替换的用法详解

    Linux系统中sed命令可以将字符串批量替换,省去了很多麻烦,下面由学习啦小编为大家整理了linux系统中sed命令字符串替换的用法详解,希望对大家有帮助! linux中sed命令字符串替换的用法详 ...

  7. 面试linux中sed的用法,linux中sed命令的使用与注意小结

    前言 sed是一种流编辑器,它是文本处理中非常有用的工具,能够完美的配合正则表达式使用,功能不同凡响.处理时,把当前处理的行存储在临时缓冲区中,称为『模式空间』(pattern space),接着用s ...

  8. sed是linux命令吗,Linux命令 sed

    一. 以行为单位进行操作. d:删除 $ nl passwd | sed '2,5d'  # 删除第2~5行 $ nl passwd | sed '2d'  # 删除第2行 $ nl passwd | ...

  9. linux中sed命令用例,Linux中使用sed命令或awk命令修改常规配置文件

    一.方案: Linux中使用sed命令或awk命令修改常规配置文件 二.步骤: 1.假设有一个a.txt,内容如下: #!/bin/bash aa= bbb= ccc= #ddd= 2.如果想要把里面 ...

最新文章

  1. 皱眉细节完美复刻,阿尔伯塔大学团队标星2.5K的项目生成超逼真的肖像画
  2. Java --Lamda表达式
  3. Java中判断List中是否有重复元素
  4. 【洛谷 - P1507 】NASA的食物计划(二维费用背包,dp)
  5. C/C++获取当前路径、获取任意pid完整路径(readlink()函数)
  6. 127.0.0.1和0.0.0.0地址的区别 | 文末送书
  7. python调用动态链接库传送protobuf数据。
  8. canvas滚动 vue_vue 移动端 canvas 触摸板
  9. GC之Minor/Young/Major GC的区别
  10. Deep Learning 和 Knowledge Graph howto
  11. usg6000v报错45_华为USG6000V防火墙视图化配置
  12. 不良 : Cloudera Manager Agent 的日志目录位于可用空间小于 1.0 吉字节 的文件系统上。 /var/log/cloudera-scm-agent(可用:434.8 兆字节 (
  13. xd使用技巧_Adobe XD —你不知道的30条提示和技巧!
  14. sigmaplot画辐射方向图教程
  15. HDU5142 NPY and arithmetic progression BestCoder Round #23 1002
  16. vulnhub靶机-DC7-Writeup
  17. Java免费学习网站
  18. Docker Overlayfs文件系统联合挂载原理
  19. 百度天工AIoT打造农业种植方案,推动智慧农业规模化应用
  20. 工作展望简短_新一年工作展望短句

热门文章

  1. b区计算机考研招不满的大学,b区考研招不满的大学,适合调剂的学校有哪些
  2. 【 FPGA 】FIR 滤波器之Single-rate FIR滤波器的系数数据(Filter Coefficient Data)
  3. 【 Verilog HDL 】赋值冲突问题
  4. Virtex-6中的SelectIO模块
  5. Day02,Python条件判断及循环
  6. 算法学习之路|D进制的A+B
  7. extern C __declspec(dllexport) __declspec(dllimport) 和 def
  8. 显示-连接-删除管理数据库管理应用
  9. python note
  10. mysql之mysqldump备份恢复