linux shell中的流编辑器sed的使用
sed流编辑器
23.3.1 sed strem editor 流编辑器
sed编辑器是一行一行的处理文件内容的。正在处理的内容存放在模式空间(缓冲区)内,处理完成后按照选项的规定进行输出或文件的修改。
接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;
sed也是支持正则表达式的,如果要使用扩展正则加参数-r
sed的执行过程:
1、 一次读取一行数据
2、 根据我们提供的规则来匹配相关的数据,比如查找root。
3、 按照命令修改数据流中的数据,比如替换
4、 将结果进行输出
5、 重复上面四步
23.3.2 如何使用
语法格式:sed [options] ‘[commands]’ filename
例1:替换字符串中的部分内容
echo "good moring Mr Wang" | sed 's/Wang/Hu/'
输出结果:
good moring Mr Hu
sed选项|参数
options:
-a在当前行下面插入文件
-n读取下一个输入行,用下一个命令处理新的行而不是用第一个命令
-e执行多个sed指令
-f运行脚本
-i编辑文件内容 ***
-i.bak编辑的同时创造.bak的备份
-r使用扩展的正则表达式
命令:
i在当前行上面插入文件
c把选定的行改为新的指定的文本
p打印 ***
d删除 ***
r/R读取文件/一行
w另存
s查找
y替换
h 拷贝模板块的内容到内存中的缓冲区。
H 追加模板块的内容到内存中的缓冲区。
g 获得内存缓冲区的内容,并替代当前模板块中的文本。
G 获得内存缓冲区的内容,并追加到当前模板块文本的后面
D删除\n之前的内容
P打印\n之前的内容
替换标记:
l 数字:表明新文本将替换第几处模式匹配的地方
l g:表示新文本将会替换所有匹配的文本
l \1:子串匹配标记,前面搜索可以用元字符集\(..\),
l &:保留搜索到的字符用来替换其它字符
sed匹配字符集
^ 匹配行开始,如:/^sed/匹配所有以sed开头的行。
$ 匹配行结束,如:/sed$/匹配所有以sed结尾的行。
. 匹配一个非换行符的任意字符,如:/s.d/匹配s后接一个任意字符,最后是d。
* 匹配0个或多个字符,如:/*sed/匹配所有模板是一个或多个空格后紧跟sed的行。
转载于:https://www.cnblogs.com/fusheng11711/p/10794997.html
linux shell中的流编辑器sed的使用相关推荐
- shell中的流编辑器awk
shell中的流编辑器awk 文章目录 shell中的流编辑器awk awk命令 awk工作原理 awk的命令格式 awk常见的内建变量(可直接使用) awk按行输出文本 awk以字段输出文本 awk ...
- Shell学习总结-流编辑器sed
目录 正则表达式 定址 命令与选项 用sed修改文件 元字符 sed范例 106- 正则表达式 与grep一样,sed在文件中查找模式时也要使用正则表达式(RE)和各种元字符.正则表达式是括在斜杠间的 ...
- shell脚本编程笔记(九)—— 初识流编辑器 sed
一. 流编辑器 sed编辑器被称作流编辑器(stream editor).在交互式文本编辑器中(比如vim),你可以用键盘命令来交互式地插入.删除或替换数据中的文本.流编辑器则基于预先提供的一组命令来 ...
- linux sed 正则提取字符串,Shell中使用grep、sed正则提取和替换字符串
Linux中使用grep正则提取字符串 echo office365 | grep -P '\d+' -o find . -name "*.txt" | xargs grep -P ...
- 详解流编辑器 sed 和 编程语言 awk
一.流编辑器 sed sed 是一个精简的.非交互式的流式编辑器,它在命令行中输入编辑命令和指定文件名,然后在屏幕上查看输出. 逐行读取文件内容存储在临时缓冲区中,称为"模式空间" ...
- Linux shell multifile content replace with sed
#!/bin/bash# Linux shell multifile content replace with sed # 声明: # 本源代码主要是利用两份(中.英文)具有相同键值对的json数据, ...
- 54. 流编辑器sed技术概览
1.流编辑器sed:不需要与人进行交互,修改文件是重点 sed工作流程 因此,sed不可将退出状态作为执行成功与否判断的依据. sed '' /etc/passwd 原封不动的逐行输出 sed 'd' ...
- linux shell bin sh,linux shell中#bin/sh的理解
摘要 腾兴网为您分享:linux shell中#bin/sh的理解,支付旭尊,小熊到家,天天美剧,淘金宝等软件知识,以及维棠flv视频软件,usb抓包工具,红警2无敌,ucbug造梦西游4,壁纸工作室 ...
- Linux shell中的竖线(|)——…
原文地址:Linux shell中的竖线(|)--管道符号 作者:潇潇 管道符号,是unix一个很强大的功能,符号为一条竖线:"|". 用法: command 1 | comman ...
最新文章
- 状态估计问题学习记录(1)
- 2020-11-2(安卓入门(每个字皆为手打))
- VTK:PolyData之DeletePoint
- 前端学习(1375):express参数中post参数的获取
- 微软再向开发者重申:UWP 是 PC 的最佳平台
- (自定义组件)通用- X轴横向:溢出滚动 (含代码)- 案例篇
- 一台电脑连接到另外一台电脑的虚拟机里面的系统
- linux grub.cnf grub64.efi 文件
- Python 贪吃蛇 代码
- signature=34db6f8e3cd9ad368186a42fa9bb3c02,ad.html
- cab和ocx什么区别_CAB的完整形式是什么?
- IPFS占据10%存储份额?预测FIL价格千U?现在挖FIL晚吗?
- Linux那些事儿之我是U盘(28)第一次亲密接触(四)
- python终端会话是指什么_进程组、会话、控制终端的概念及程序
- 【机器学习7】决策树
- 【JY】有限单元分析的常见问题及单元选择
- 成绩统计(编写一个使用EL的jsp程序)
- Android跳转到拨打电话界面和拨打电话
- 意大利与比利时的决胜时刻
- 多源bfs Spicy Restaurant