免费注册 查看新帖 |

Chinaunix

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

文件替换并叠加抬头 [复制链接]

论坛徽章:
0
发表于 2015-09-28 21:38 |显示全部楼层
11
fdsffffffdss654656546
12
fdsff55964ffffdss908904
13
rewr25449rewrdsfdsfdsfdsf

上面是一个.txt文本,
把11、12、13替换成
a7、b8、c9
怎么实现呢?

论坛徽章:
10
2015亚冠之广州富力
日期:2015-06-16 14:44:332015亚冠之西悉尼流浪者
日期:2015-08-19 13:14:352015亚冠之阿尔希拉尔
日期:2015-08-04 09:38:052015亚冠之萨济拖拉机
日期:2015-07-31 15:01:582015亚冠之首尔
日期:2015-07-27 14:24:312015亚冠之塔什干火车头
日期:2015-07-20 09:47:202015亚冠之布里斯班狮吼
日期:2015-07-15 14:58:432015亚冠之首尔
日期:2015-07-07 09:31:262015亚冠之广州恒大
日期:2015-07-06 15:41:272015亚冠之首尔
日期:2015-08-27 11:03:01
发表于 2015-09-29 09:31 |显示全部楼层
用if吧,最简单

论坛徽章:
307
程序设计版块每周发帖之星
日期:2016-04-08 00:41:33操作系统版块每日发帖之星
日期:2015-09-02 06:20:00每日论坛发贴之星
日期:2015-09-02 06:20:00程序设计版块每日发帖之星
日期:2015-09-04 06:20:00每日论坛发贴之星
日期:2015-09-04 06:20:00每周论坛发贴之星
日期:2015-09-06 22:22:00程序设计版块每日发帖之星
日期:2015-09-09 06:20:00程序设计版块每日发帖之星
日期:2015-09-19 06:20:00程序设计版块每日发帖之星
日期:2015-09-20 06:20:00每日论坛发贴之星
日期:2015-09-20 06:20:00程序设计版块每日发帖之星
日期:2015-09-22 06:20:00程序设计版块每日发帖之星
日期:2015-09-24 06:20:00
发表于 2016-09-07 12:18 |显示全部楼层
  1. perl -nle 'BEGIN{%h=(11=>"a7",12=>"b8",13=>"c9")}{$.%2?print $h{$_}:print}' f
复制代码

a7
fdsffffffdss654656546
b8
fdsff55964ffffdss908904
c9
rewr25449rewrdsfdsfdsfdsf

求职 : 软件工程师
论坛徽章:
3
程序设计版块每日发帖之星
日期:2015-10-07 06:20:00程序设计版块每日发帖之星
日期:2015-12-13 06:20:00程序设计版块每日发帖之星
日期:2016-05-05 06:20:00
发表于 2016-09-07 14:55 |显示全部楼层
  1. use 5.020;
  2. use File::Slurp qw(read_file);
  3. use List::Util qw(pairs);
  4. use List::MoreUtils qw(mesh);

  5. my @array = split(/\s+/xms, read_file("sample.txt"));
  6. my @keys = qw/a7 c8 b9/;
  7. my @values = map { $_->[1] } pairs(@array);
  8. say (join "\n", mesh(@keys, @values));
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP