sed是linux命令吗,Linux12_ sed命令详解
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命令详解相关推荐
- linux中替换命令详解,linux中sed命令字符串替换的用法详解
Linux系统中sed命令可以将字符串批量替换,省去了很多麻烦,下面由学习啦小编为大家整理了linux系统中sed命令字符串替换的用法详解,希望对大家有帮助! linux中sed命令字符串替换的用法详 ...
- linux中grep命令 菜鸟教程,linux grep正则表达式与grep用法详解
需要大家牢记:正则表达式与通配符不一样,它们表示的含义并不相同 正则表达式只是字符串的一种描述,只有和支持正则表达式的工具相结合才能进行字符串处理.本文以grep为例来讲解正则表达式. grep命令 ...
- linux命令ps -aux|grep xxx详解
linux命令ps -aux|grep xxx详解 要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程, 而ps命令(Process Status)就是最基本同时也是非常强大 ...
- linux xxx命令,linux命令ps aux|grep xxx详解
对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程, 而ps命令(Process Status)就是最基本同时也是非常强大的进程查看命令. 使用该命令 可以确定有哪些进程正在运 ...
- linux服务器杀毒软件命令,悬镜Linux服务器卫士-木马查杀详解
原标题:悬镜Linux服务器卫士-木马查杀详解 今天悬镜小编详细给大家讲解下悬镜管家中-木马查杀功能的使用情况. 对于WebShell的理解,"Web"显然需要服务器开放Web服务 ...
- 编程实现linux中的who命令功能,Linux who命令简介及使用方法详解
玩蛇网推荐图文教程:python 列表 本文是关于Linux who命令简介及使用方法详解一文.如果你是一名系统管理员,可能需要需要在一个特定的时间点都有谁活跃在系统上.以便必须严密监视我们的服务器. ...
- linux cp -r 参数,Linux系统中cp命令的参数及用法详解
Linux系统中cp命令主要是用来复制文件或者目录.下面由学习啦小编为大家整理了Linux系统中cp命令的参数及用法详解的相关知识,希望对大家有帮助! Linux系统中cp命令的参数及用法详解:参数说 ...
- linux dig命令的安装和使用详解
linux dig命令的安装和使用详解 什么是dig命令 Dig是Domain Information Gopher的缩写,是一种DNS查找实用程序,用于探测DNS服务器并解决与DNS服务器相关的问题 ...
- linux添加目录命令权限,linux chmod命令设置目录/文件权限详解
首页 > Linux教程 > 常用命令 > chmod 文件权限 linux chmod命令设置目录/文件权限详解 linux中chmod命令用于改变系统文件或目录的访问权限,用数字 ...
- python调用adb shell命令_Python之使用adb shell命令启动应用的方法详解
Python之使用adb shell命令启动应用的方法详解 一直有一个心愿希望可以用Python做安卓自动化功能测试,在一步步摸索中,之前是用monkeyrunner,但是发现对于控件ID的使用非常具 ...
最新文章
- Java之定时任务详解
- vs2013怎么清理解决方案_厕所漏水怎么办?厕所免拆砖防水维修方案
- NPOI 1.2教程(目录)
- 通过Spring Boot使用MySQL JDBC驱动程序
- oracle ebs 数据源,Oracle EBS环境下查找数据源(Form篇)
- javascript学习系列(20):数组中的bind,apply,call
- 用c语言程序编写一份试卷,C语言程序设计试题
- T-Sql - 数据分租求最大指定字段最大的记录
- jquery easyui后台模板
- 北京内推 | 启元世界招聘虚拟人算法工程师/实习生
- 水晶报表 php,VS2015环境下Crystal Reports(水晶报表)的安装使用
- U8C报表模板已设置,任务已分配仍无法查看报表数据
- 最基本财务基础知识,财务知识基础
- 表单及阿里巴巴矢量图
- Line 167. parse error, unexpected IS, expecting SEMICOLON ISE14.7
- STM32学习100步之第四十二步——触摸按键驱动程序
- RGB 和 YUV 的认识和相互转换
- 请问如何提高文件的读写速度
- 【@NotNull和@NotBlank的区别】
- 蓝牙Bluetooth模块介绍