免费注册 查看新帖 |

Chinaunix

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

如何对文件的第一列执行外部工具 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-11-10 10:31 |只看该作者 |倒序浏览
有如下输入文件,需要用一个工具mytool,将第一列的数值转换一下,并将输出结果放到第一列:
输入文件input.txt:
2143 qewfrds dsafads
34543 45645  tryrey dsafj dsf
87687 dsafj dsf
2143 qewfrds dsafads dsafj dsf
34543 45645  tryrey dsafj
87687 dsafj dsf

假如:
运行:./mytool 2143
输出:xxxxxx
那么对如下input.txt的第一列转化后为:
xxxxxx qewfrds dsafads

请问这个该如何实现?

论坛徽章:
0
2 [报告]
发表于 2010-11-10 10:43 |只看该作者
awk '{ "./mytool "$1|getline $1;print}' input.txt

论坛徽章:
0
3 [报告]
发表于 2010-11-10 13:20 |只看该作者
本帖最后由 sayigood 于 2010-11-11 10:31 编辑

回复 2# li2002


    这个似乎不可以
cat test
#! /bin/sh

echo "file test";
awk '{"./test"}' sed.data

结果:没有输出

论坛徽章:
0
4 [报告]
发表于 2010-11-10 14:05 |只看该作者
本帖最后由 li2002 于 2010-11-10 14:07 编辑

回复 3# sayigood


    你写的这个和我一样吗?你这个没有输出是正常的

论坛徽章:
0
5 [报告]
发表于 2010-11-11 10:31 |只看该作者
回复 4# li2002


    确实跟你写的不一样,重新试过你的方法,你的方法是正确的
    能解释一下吗?那个“|”是管道?

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-08-24 06:20:00综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-25 06:20:00IT运维版块每日发帖之星
日期:2015-11-06 06:20:00IT运维版块每日发帖之星
日期:2015-12-10 06:20:00平安夜徽章
日期:2015-12-26 00:06:302016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-04-15 06:20:00IT运维版块每日发帖之星
日期:2016-05-21 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-14 06:20:00
6 [报告]
发表于 2010-11-11 12:05 |只看该作者
回复 1# sayigood


    直接system就可以了。或print这个命令,最后sh
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP