免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3190 | 回复: 10
打印 上一主题 下一主题

linux如何将打印出来的字替换 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-26 12:33 |只看该作者 |倒序浏览
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
2 [报告]
发表于 2009-12-26 12:33 |只看该作者
原帖由 mitmax 于 2009-12-28 10:47 发表
大家可能还没明白我的意思,我的意思是from 后面的这个邮件地址不是固定了 所以能不能打印出来后替换!


sed -i  's/(from ).*$/\1邮件地址/g'  test.txt


这个简单,但是也有漏洞,条件是含义from的行都会替换成“from 邮件地址”。

楼主看看符合要求不。

论坛徽章:
0
3 [报告]
发表于 2009-12-26 12:35 |只看该作者
替换什么?替换成什么?

论坛徽章:
0
4 [报告]
发表于 2009-12-26 13:17 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
5 [报告]
发表于 2009-12-26 18:21 |只看该作者
try
sed 's/替换内容/111\@qq.com/g'

论坛徽章:
0
6 [报告]
发表于 2009-12-26 21:17 |只看该作者
原帖由 mitmax 于 2009-12-26 12:33 发表
咧如一个文件里面写了
vim test.txt
from 32432@qq.com
user 23432
pass fmfjdjd
我使用
greo from test.txt|awk '{print $2}'
32432@qq.com


之后我怎么用sed替换



我优化一下楼主的命令,在结合一下版主的方法。

sed -i  '/from/{ s/32432@qq.com/111@qq.com/g; }'  test.txt

上述命令在RHEL5U3测试通过。
1、-i 参数作用是直接修改指定文件内容。如果只是希望结果显示在屏幕上而不改动文件,可以忽略此参数。
2、/from/ 指定匹配含义此字符串的行
3、{ s/目标字符串/替换后字符串/g; }  在匹配含有“from”字符串的基础之上,替换改行中指定字符串。如果每行只有一个替换目标,那么可以省略“g”参数。
4、如果楼主是打算替换全文中所有指定字符串,那么还可优化成这样。
   sed -i  's/32432@qq.com/111@qq.com/g'  test.txt

[ 本帖最后由 blueswxs 于 2009-12-26 22:59 编辑 ]

论坛徽章:
0
7 [报告]
发表于 2009-12-26 21:21 |只看该作者
我一直就没看懂,LZ这是要干啥呢?

如果想输出32432@qq.com,直接echo '32432@qq.com' 不就行了

[ 本帖最后由 Celinde 于 2009-12-26 21:22 编辑 ]

论坛徽章:
0
8 [报告]
发表于 2009-12-26 21:36 |只看该作者
原帖由 Celinde 于 2009-12-26 21:21 发表
我一直就没看懂,LZ这是要干啥呢?

如果想输出32432@qq.com,直接echo '32432@qq.com' 不就行了



我估计他是想替换文件的内容。

论坛徽章:
0
9 [报告]
发表于 2009-12-27 12:29 |只看该作者
简单点

  1. sed '/ [0-9]*@/111@/' urfile
复制代码

需要修改文件加个sed  -i ...就可以了

论坛徽章:
0
10 [报告]
发表于 2009-12-28 10:47 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP