免费注册 查看新帖 |

Chinaunix

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

awk 和 sed 混合使用的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-12 19:21 |只看该作者 |倒序浏览
有一文件内包含如下一行
    DEFAULT|M|1000|2000|4000|3000|2000|4000|25000000|6000|5s|25|1d|30s|30m|4|1h|1

我想对该行第14个对象进行替换操作 我知道我可以
    awk -F "|" '/^DEFAULT/{print $14}' filename
我也知道我可以用sed 进行 -i 替换, 现在我如何用一行混合sed和awk直接替换以|为分界的第14行呢 比如 sed -i 's/{print $14}/new/' filename 呢
谢谢大家

论坛徽章:
0
2 [报告]
发表于 2007-04-12 19:46 |只看该作者
只用sed就可以.
sed 's/[^|]*\(|*\)/new\1/14' filename

-i 选项慎用.

论坛徽章:
0
3 [报告]
发表于 2007-04-13 16:24 |只看该作者
用一行混合sed和awk

可以用 | 吗?就算可以那样也把问题复杂化了

论坛徽章:
0
4 [报告]
发表于 2007-04-16 16:57 |只看该作者
nawk -F'|' '{printf "sed s/%s/new/ filename",$14}'|sh

是不是这个意思

论坛徽章:
0
5 [报告]
发表于 2007-04-16 18:41 |只看该作者
用了awk就没有必要用sed了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP