sed意为“流编辑器(stream editor)”

字符串筛选工具。

对一个文档中的行进行操作

和vi编辑很相似。可以查看vim使用命令详解

1 sed基本格式

第一种

sed 参数 '脚本语句(/pattern/action)' 待操作文件

第二种

sed 参数 -f '脚本文件' 待操作文件

参数

sed参数

a 追加append

i 插入insert

d 删除delete

s替换substitution

$ cat seqtest

#! /bin/sh

echo "Enter a Yes or no"

read BUF

case "$BUF" in

yes |Y|y|YES|Yes)

echo "It's a yes.";;

[nN]?)

echo "It's a NO.";;

*)

echo "other case.";;

esac

echo "gong to return"

return 0

echo "going to return end"

2 行追加a

追加到后面

$ sed '4a this is an added line' seqtest

执行上面命令后,只会屏幕上输出,而不会保存到文件中

$ sed '4a this is an added line' seqtest

#! /bin/sh

echo "Enter a Yes or no"

read BUF

this is an added line

case "$BUF" in

yes |Y|y|YES|Yes)

echo "It's a yes.";;

[nN]?)

echo "It's a NO.";;

*)

echo "other case.";;

esac

echo "gong to return"

return 0

echo "going to return end"

如果想要保存那就需要加一个参数-i

$ sed -i '4a this is an added line' seqtest

$ cat seqtest

#! /bin/sh

echo "Enter a Yes or no"

read BUF

this is an added line

case "$BUF" in

yes |Y|y|YES|Yes)

echo "It's a yes.";;

[nN]?)

echo "It's a NO.";;

*)

echo "other case.";;

esac

echo "gong to return"

return 0

echo "going to return end"

3 删除某行

$ sed '5d' seqtest

#! /bin/sh

echo "Enter a Yes or no"

read BUF

case "$BUF" in

yes |Y|y|YES|Yes)

echo "It's a yes.";;

[nN]?)

echo "It's a NO.";;

*)

echo "other case.";;

esac

echo "gong to return"

return 0

echo "going to return end"

4 插入某行 和a用法一样,只是追加到行前

5 替换命令s

r$ sed 's/BUF/buffer/g' seqtest

#! /bin/sh

echo "Enter a Yes or no"

read buffer

this is an added line

case "$buffer" in

yes |Y|y|YES|Yes)

echo "It's a yes.";;

[nN]?)

echo "It's a NO.";;

*)

echo "other case.";;

esac

echo "gong to return"

return 0

echo "going to return end"

6常用sed命令

6.1打印包含特定字符的行

相当于grep命令

$ sed -n '/BUF/p' seqtest

read BUF

case "$BUF" in

如果不加-n是下面输出

$ sed '/BUF/p' seqtest

#! /bin/sh

echo "Enter a Yes or no"

read BUF

read BUF

this is an added line

case "$BUF" in

case "$BUF" in

yes |Y|y|YES|Yes)

echo "It's a yes.";;

[nN]?)

echo "It's a NO.";;

*)

echo "other case.";;

esac

echo "gong to return"

return 0

echo "going to return end"

6.2 某字符的特殊模式

$ sed 's/BUF/-$-/g' seqtest

#! /bin/sh

echo "Enter a Yes or no"

read -$-

this is an added line

case "$-$-" in

yes |Y|y|YES|Yes)

echo "It's a yes.";;

[nN]?)

echo "It's a NO.";;

*)

echo "other case.";;

esac

echo "gong to return"

return 0

echo "going to return end"

7 sed扩展sed -r

和grep不同,sed用参数r进行扩展

8 sed一次指定多条不同的替换命令,用";"隔开

9 明白下面例子

$ sed 's/*]>//g' t.html

Hello World

$ sed 's/]*>//g' t.html

Hello World

Welcome to the world of regexp!

sed是linux命令吗,Linux12_ sed命令详解相关推荐

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

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

  2. linux中grep命令 菜鸟教程,linux grep正则表达式与grep用法详解

    需要大家牢记:正则表达式与通配符不一样,它们表示的含义并不相同 正则表达式只是字符串的一种描述,只有和支持正则表达式的工具相结合才能进行字符串处理.本文以grep为例来讲解正则表达式. grep命令 ...

  3. linux命令ps -aux|grep xxx详解

    linux命令ps -aux|grep xxx详解 要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程, 而ps命令(Process Status)就是最基本同时也是非常强大 ...

  4. linux xxx命令,linux命令ps aux|grep xxx详解

    对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程, 而ps命令(Process Status)就是最基本同时也是非常强大的进程查看命令. 使用该命令 可以确定有哪些进程正在运 ...

  5. linux服务器杀毒软件命令,悬镜Linux服务器卫士-木马查杀详解

    原标题:悬镜Linux服务器卫士-木马查杀详解 今天悬镜小编详细给大家讲解下悬镜管家中-木马查杀功能的使用情况. 对于WebShell的理解,"Web"显然需要服务器开放Web服务 ...

  6. 编程实现linux中的who命令功能,Linux who命令简介及使用方法详解

    玩蛇网推荐图文教程:python 列表 本文是关于Linux who命令简介及使用方法详解一文.如果你是一名系统管理员,可能需要需要在一个特定的时间点都有谁活跃在系统上.以便必须严密监视我们的服务器. ...

  7. linux cp -r 参数,Linux系统中cp命令的参数及用法详解

    Linux系统中cp命令主要是用来复制文件或者目录.下面由学习啦小编为大家整理了Linux系统中cp命令的参数及用法详解的相关知识,希望对大家有帮助! Linux系统中cp命令的参数及用法详解:参数说 ...

  8. linux dig命令的安装和使用详解

    linux dig命令的安装和使用详解 什么是dig命令 Dig是Domain Information Gopher的缩写,是一种DNS查找实用程序,用于探测DNS服务器并解决与DNS服务器相关的问题 ...

  9. linux添加目录命令权限,linux chmod命令设置目录/文件权限详解

    首页 > Linux教程 > 常用命令 > chmod 文件权限 linux chmod命令设置目录/文件权限详解 linux中chmod命令用于改变系统文件或目录的访问权限,用数字 ...

  10. python调用adb shell命令_Python之使用adb shell命令启动应用的方法详解

    Python之使用adb shell命令启动应用的方法详解 一直有一个心愿希望可以用Python做安卓自动化功能测试,在一步步摸索中,之前是用monkeyrunner,但是发现对于控件ID的使用非常具 ...

最新文章

  1. Java之定时任务详解
  2. vs2013怎么清理解决方案_厕所漏水怎么办?厕所免拆砖防水维修方案
  3. NPOI 1.2教程(目录)
  4. 通过Spring Boot使用MySQL JDBC驱动程序
  5. oracle ebs 数据源,Oracle EBS环境下查找数据源(Form篇)
  6. javascript学习系列(20):数组中的bind,apply,call
  7. 用c语言程序编写一份试卷,C语言程序设计试题
  8. T-Sql - 数据分租求最大指定字段最大的记录
  9. jquery easyui后台模板
  10. 北京内推 | 启元世界招聘虚拟人算法工程师/实习生
  11. 水晶报表 php,VS2015环境下Crystal Reports(水晶报表)的安装使用
  12. U8C报表模板已设置,任务已分配仍无法查看报表数据
  13. 最基本财务基础知识,财务知识基础
  14. 表单及阿里巴巴矢量图
  15. Line 167. parse error, unexpected IS, expecting SEMICOLON ISE14.7
  16. STM32学习100步之第四十二步——触摸按键驱动程序
  17. RGB 和 YUV 的认识和相互转换
  18. 请问如何提高文件的读写速度
  19. 【@NotNull和@NotBlank的区别】
  20. 蓝牙Bluetooth模块介绍

热门文章

  1. 【显著目标检测论文】Pyramid Feature Attention Network for Saliency detection
  2. Maven使用与学习
  3. maven使用TestNG
  4. 什么浏览器有html控制台,HTML标记突破出现在浏览器br,也可作为br,开发者控制台...
  5. 自己动手学TCP/IP--ICMP(ping报文)
  6. pvlan与vlan的区别是什么?
  7. LM38简易方波发生器
  8. journalctl中文手册
  9. 可重入函数与线程安全的区别与联系
  10. 小程序博客(云开发)