免费注册 查看新帖 |

Chinaunix

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

请教一个工作中遇到的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-10-20 14:52 |只看该作者 |倒序浏览
有一个文本文件list1.txt,内容如下:
30022 30024
40044 40045
20011 20011

要求利用Linux命令处理后生成文件list2.txt,内容如下:
30022
30023
30024
40044
40045
20011

  简要说明:list1.txt为现有文件,该文件有两个字段,$1和$2,当$1<$2时,输出$1

、$2、$1和$2之间的数字;当$1=$2时,输出$1或$2都可以;以下是我试着写的一条命令

,由于能力有限,没能实现想要的结果,还请高手指点一二,小弟在这先谢谢了!

awk '{for (i=1;i<=NR;i++)
       if ($1<$2) {print $1;$1=$1+1} else {print $2}
     }' list1.txt >> list2.txt
一路征程一路笑 该用户已被删除
2 [报告]
发表于 2010-10-20 16:34 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
一路征程一路笑 该用户已被删除
3 [报告]
发表于 2010-10-20 16:34 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
4 [报告]
发表于 2010-10-20 16:41 |只看该作者
谢谢你的回复。希望以后经常沟通。

论坛徽章:
0
5 [报告]
发表于 2010-10-20 16:56 |只看该作者
还得麻烦你一下,上边的发的数据只是样例,在我这执行你写的命令行后,出现这样一个情况,就是$1和$2之间有数据时,也就是$2比$1大1以上,生成的list2.txt文件中,$1和$2之间有数据显示如下:
4.60031e+14
4.60031e+14
4.60031e+14
4.60031e+14
4.60031e+14
4.60031e+14

怀疑是我原始数据格式的问题,请问如何解决?
一路征程一路笑 该用户已被删除
6 [报告]
发表于 2010-10-20 16:59 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
7 [报告]
发表于 2010-10-20 17:04 |只看该作者
原始数文件确实不小,但这和文件大小也有关系吗?这边是我粘的部分数据:
460030913109705 460030913109706
460030973100705 460030973100705
460030913109409 460030913109412
460030913109414 460030913109416
一路征程一路笑 该用户已被删除
8 [报告]
发表于 2010-10-20 17:15 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
一路征程一路笑 该用户已被删除
9 [报告]
发表于 2010-10-20 17:16 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
10 [报告]
发表于 2010-10-20 17:20 |只看该作者
以下边这行为例:
460030913109414 460030913109416
输出后能正常显示460030913109414和460030913109416,但他们之前的数据460030913109415显示就这4.60031e+14这样了,真是怪了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP