UNIX shell学习(2)-sed
来源:互联网 发布:京东金融数据大赛 编辑:程序博客网 时间:2024/05/22 08:26
sed的工作过程:
sed剪辑器逐行处理文件(或输入),并将输出结果发送到屏幕。sed把当前正在处理的行保存在一个临时缓冲区中,这个缓冲区称为模式空间或临时缓冲。sed处理完模式空间中的行后(即在该行上执行完sed命令后),就把该行发送到屏幕上(除非之前有命令删除这一行或取消打印操作)。sed每处理完一行就将其从模式空间中删除,然后将下一行读入空间,进行处理和显示。处理完输入文件的最后一行后,sed便结束运行。sed把每一行都存在临时缓冲区中,对这个副本进行编辑,所以不会修改或破坏源文件。
如果要把正则表达式分隔符改成另一个字符,比如,只要在这个字符前加一个反斜杠,在字符后跟上正则表达式,在跟上这个字符即可。
例:sed -n '/cREcp' filename
sed -n '/12//10//04/p' filename
sed -n '/x12/10/04xp' filename
后两个都是查找"12/10/04"字符串。
sed的命令及其功能:
命令
功能
a/
在当前行后添加一行或多行
c/
用新文本修改(替换)当前行中的文本
d
删除行
i/
在当前行之前插入文本
h
把模式空间里的内容复制到暂存缓冲区
H
把模式空间里的内容追加到暂存缓冲区
g
取出暂存缓冲区的内容,将其复制到模式空间,覆盖该处原有内容
G
取出暂存缓冲区的内容,将其复制到模式空间,追加在原有内容后面
l
列出非打印字符
p
打印行
n
读入下一输入行,并从下一条命令而不是第一条命令开始对其的处理
q
结束或退出sed
r
从文件中读取输入行
!
对所选行以外的所有行应用命令
s
用一个字符串替换另一个
替换标志
g
在行内进行全局替换
p
打印行
w
将行写入文件
x
交换暂存缓冲区与模式空间的内容
y
将字符转换为另一字符(不能对正则表达式使用y命令)
sed选项
选项
功能
-e
允许多项编辑
-f
指定sed脚本文件名
-n
取消默认的输出
- UNIX shell学习(2)-sed
- sed初级使用-------shell学习(7)
- Shell 学习6(sed命令)
- Linux学习---shell编程(09-sed)
- shell脚本学习(三)- sed
- shell学习之sed
- shell编程:sed学习
- 【shell】Sed学习笔记
- Shell学习---sed
- shell脚本学习sed
- Shell grep / sed 学习
- Unix Shell 学习笔记【2】
- 关于unix shell get、sed、awk用法
- 【shell】读《Unix shell 范例精解》–sed
- 【shell】sed学习小结1
- Shell学习笔记(14)-sed
- Shell脚本的学习&&sed
- shell学习笔记(二):《Unix Shell编程》学习笔记
- 张小娴经典语录100句
- c中和java中数组的区别
- 一晨
- 学VC是的心得
- 用Glade和PyGTK快速开发图形应用程序快速入门
- UNIX shell学习(2)-sed
- Effective STL - 警惕c++让人懊恼的解析
- 多个spu文件写法
- mysql优化
- Fedora安装Expect
- aMule添加文件中文问题
- JAVA堆和栈的区别
- 今天 我决定写博客
- 我的mysql 优化日记