免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1102 | 回复: 9

[文本处理] shell脚本调用perl [复制链接]

论坛徽章:
0
发表于 2019-07-26 15:09 |显示全部楼层
请教各位一个问题;我有若干个文本文件,文件名input.1000,input.2000,以此类推,需要使用perl ./t1 input.1000逐个处理输入文件,产生数据文件output.dat,输出的文件实际只有一行,需要把其中的第二列浮点数字读取到result.dat里,然后用perl ./t1 clean清除掉output文件,然后接着处理input.2000等。求教哪位可以指导一下这个脚本如何写?谢谢。

论坛徽章:
5
2016科比退役纪念章
日期:2018-10-24 08:24:0115-16赛季CBA联赛之北控
日期:2019-03-12 14:34:562016科比退役纪念章
日期:2019-04-01 10:33:0915-16赛季CBA联赛之山东
日期:2019-04-17 12:46:3215-16赛季CBA联赛之广夏
日期:2019-05-09 16:40:40
发表于 2019-07-26 16:46 |显示全部楼层
本帖最后由 cfwyy 于 2019-07-29 07:47 编辑

不清楚你output.dat的格式,假设空格分隔列的话
可以试试下面的。没有你的环境 自行测试。
  1. #!/bin/bash

  2. files=`ls input*`
  3. for f in $files
  4. do
  5.     perl ./t1 $f
  6.     echo {$f#input.} > result.dat
  7.     cut -f2 output.dat >> result.dat
  8.     perl ./t1 clean
  9. done
复制代码


论坛徽章:
0
发表于 2019-07-26 17:32 |显示全部楼层
本帖最后由 gigisor 于 2019-07-26 17:34 编辑

回复 2# cfwyy

太感谢了。我试了一下,生成的result里面是空白,cut命令行应该没起作用。out.dat里面产生的数据格式如下,数字之间是Tab间隔:

  220   181.8182       39.8607       56.7135        2.3409       28.0158        0.3136       74.3155

另,如果我想把input后缀的1000,2000,也同时写入result应该如何操作。谢谢

论坛徽章:
12
2015年亚洲杯之乌兹别克斯坦
日期:2015-04-10 18:29:00狮子座
日期:2016-01-17 15:40:28处女座
日期:2016-01-16 17:36:17巨蟹座
日期:2016-01-16 17:35:48未羊
日期:2015-12-12 16:18:26青铜圣斗士
日期:2015-12-09 01:07:50IT运维版块每日发帖之星
日期:2015-12-05 06:20:00神斗士
日期:2015-12-03 23:13:59IT运维版块每日发帖之星
日期:2015-11-22 06:20:00IT运维版块每日发帖之星
日期:2015-11-08 06:20:00IT运维版块每日发帖之星
日期:2015-10-29 06:20:00IT运维版块每日发帖之星
日期:2016-06-30 06:20:00
发表于 2019-07-29 00:56 |显示全部楼层
为啥还要生成中间的结果文件, 直接获取结果进行处理放到result 文件里不行吗, 以追加的形式

论坛徽章:
0
发表于 2019-07-29 09:38 |显示全部楼层
没有看懂,问题描述得不清楚。

论坛徽章:
5
2016科比退役纪念章
日期:2018-10-24 08:24:0115-16赛季CBA联赛之北控
日期:2019-03-12 14:34:562016科比退役纪念章
日期:2019-04-01 10:33:0915-16赛季CBA联赛之山东
日期:2019-04-17 12:46:3215-16赛季CBA联赛之广夏
日期:2019-05-09 16:40:40
发表于 2019-07-29 15:07 |显示全部楼层
回复 3# gigisor

已更新。

论坛徽章:
0
发表于 2019-07-30 14:07 |显示全部楼层
既然已经用perl了怎么还要借助Shell,直接写了不就好了。

论坛徽章:
0
发表于 2019-08-12 10:57 |显示全部楼层
非常感谢楼上各位,问题已解决。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2019中国系统架构师大会

【数字转型 架构演进】SACC2019中国系统架构师大会,7折限时优惠重磅来袭!
2019年10月31日~11月2日第11届中国系统架构师大会(SACC2019)将在北京隆重召开。四大主线并行的演讲模式,1个主会场、20个技术专场、超千人参与的会议规模,100+来自互联网、金融、制造业、电商等领域的嘉宾阵容,将为广大参会者提供一场最具价值的技术交流盛会。

限时七折期:2019年8月31日前


----------------------------------------

大会官网>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP