unix: 从文本中截取指定匹配行(sed的用法)
来源:互联网 发布:安卓windows xp镜像img 编辑:程序博客网 时间:2024/05/29 06:39
首先准备一段文本:test01.txt
beginhow are you?fine thank you,and you?i am fine too.end^Bbeginplease give me the paper.ok,here you are.thank you^Cend
注意这里的^B和^C属于ascii码形式,^B在16进制下是x02,^C在16进制下是x03.
题目一:截取以begin开头和end结尾的段落即:
begin
how are you?
fine thank you,and you?
i am fine too.
end
答案:sed -n '/^begin/,/^end/p' test01.txt
解释:-n 是Suppresses the default output,格式是sed -n ‘/开始行/,/结束行/p’ test01.txt,这里开始行定义为^begin表示以begin字符开始的行,结束行^end表示以end开始的行。然后截取中间部分。
题目二:截取以^Bbegin开始和^Cend结尾的段落即:
^Bbegin
please give me the paper.
ok,here you are.
thank you
^Cend
答案:sed -n '/^^Bbegin/,/^^Cend/p' test01.txt
解释:这里和上面答案的有点区别就是^B和^C,其实他们俩不是简单的'^B'和'^C'字符组合,显示有点迷惑,而真实是16位形式x02和x03。所以敲门就是在命令行里怎么输入16进制形式。要想打出^B可以这么输入:在命令行,先按ctl+v,然后再按ctl+B。这样x02就输入了,而显示为^B不要糊涂了。同理x03也是先按ctl+v再按ctl+C。这里要注意。
另注:
-e是进行多行编辑,即对输入行应用多条sed命令时使用。
-n 取消默认的输出
p 打印行
上面两个语句都是截取文本并打印到屏幕,如果要截取并存到一个文件里,请使用重定向'>'(先清空文件再输出)和'>>'(追加输出);
如:sed -n '/^begin/,/^end/p' test01.txt > test01.txt.sed 追加形式是 sed -n '/^begin/,/^end/p' test01.txt >> test01.txt.sed
- unix: 从文本中截取指定匹配行(sed的用法)
- Unix中sed的用法
- Unix中sed用法
- 从文本中找到匹配的行
- sed指定行范围匹配(转贴!)
- sed 指定行范围匹配
- 从字符串里面匹配截取指定内容
- unix的sed 用法介绍
- unix的sed 用法介绍
- unix的sed 用法介绍
- unix的sed 用法介绍
- sed 截取文本段
- sed 处理文本的用法
- 利用sed从文本中提取字符串的方法
- 从文本中查找匹配行
- JAVA从字符串中截取部分匹配的字符串
- 从字符串中截取掉指定的子字符串.
- 流编辑器sed使用总结及利用sed从文本中提取字符串的方法
- 问题:SVN使用碰到的问题
- 网上订火车票的方法(Firefox+Firebug)有最新补充 2012.1.12于北京
- PSO工具箱对于高维函数如此弱?
- 移植cocos2d-x 游戏从Android平台到IOS平台分辨率问题及解决办法
- VS 2008 打开 WebApplication 报 System.Runtime.InteropServices.COMException 错误
- unix: 从文本中截取指定匹配行(sed的用法)
- bool operator
- win7下如何备份和恢复ip
- Android开发开发技巧之EditText 属性大全
- 超小型开源源码的嵌入式系统图形库
- oracle结构体系
- Openmeetings 1.8版本Windows安装详解
- Javascript实现复制到剪贴板
- URL的协议和Internet的服务