Chinaunix首页 | 论坛 | 博客
  • 博客访问: 936382
  • 博文数量: 192
  • 博客积分: 3070
  • 博客等级: 中校
  • 技术积分: 1861
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-27 23:44
个人简介

Start Linux Leave Linux a while Back to Linux

文章分类

全部博文(192)

文章存档

2023年(18)

2022年(11)

2021年(8)

2020年(14)

2019年(7)

2018年(13)

2017年(16)

2016年(4)

2012年(2)

2011年(13)

2010年(26)

2009年(13)

2008年(27)

2007年(20)

我的朋友

分类:

2011-03-15 22:57:59

1. 处理控制字符
$pg dos.txt
12332##DISO##45.12^M
00323##LPSO##23.11^M
01299##USPD##34.46^M
 
现采取以下动作:
a. 用一个空格替换所有的 ## 符号
b. 删除起始域中最前面的 0 (00)
c. 删除行尾控制字符
 
解决方法如下:
A. $sed 's/##*/ /g' dos.txt
B. $sed 's/^0*//g' dos.txt
C. $sed 's/^M//g' dos.txt
 
将所有命令合在一起:
$cat dos.txt | sed 's/##*/ /g' | sed 's/^0*//g' | sed 's/^M//g'
12332 DISO 45.12
323 LPSO 23.11
1299 USPD 34.46
 
 
关于参数g及其他一些参数的说明:
替换命令用替换模式替换指定模式, 格式为:
[address[, address]] s/pattern-to-find/replacement-pattern/[g p w n]
 
s 选项通知 sed 这是一个替换操作, 并查询 pattern-to-find, 成功后用 replacement-pattern 替换它.
 
替换选项如下:
g 缺省情况下只替换第一次出现模式,使用g选项替换全局所有出现模式。
p 缺省s e d将所有被替换行写入标准输出,加p选项将使- n选项无效。- n选项不打印输出
结果。
w 文件名使用此选项将输出定向到一个文件。
 
 
2. 将 sed 结果写入文件命令
$sed '1,2 w filedt' dos.txt
将1,2行输出到文件 filedt
$pg filedt
12332 DISO 45.12
323 LPSO 23.11
 
查询模式 LPSO, 匹配结果行写入文件 filedt
$sed '/LPSO/ w filedt' dos.txt
$cat filedt
323 LPSO 23.11
 
阅读(1596) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2011-03-27 20:03:08

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com