免费注册 查看新帖 |

Chinaunix

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

[文本处理] 文本文件按照期望输出 [复制链接]

论坛徽章:
0
发表于 2022-05-20 08:45 |显示全部楼层
30可用积分
本帖最后由 dahaoshanhe 于 2022-05-20 11:36 编辑

文件1如下:  
node1
node2
node3

文件2如下:
/disk1/fa
/disk2/fb
/disk3/fc
/disk4/fd
/disk5/fe
/disk6/ff
/disk7/fg
/disk8/fg

由文件1和文件2期望获得如下的输出结果:
node1 /disk1/fa
node2 /disk1/fb
node3 /disk1/fc

node1 /disk1/fd
node2 /disk1/fe
node3 /disk1/ff
node1 /disk1/fg
node2 /disk1/fh









最佳答案

查看完整内容

回复 1# dahaoshanhe

论坛徽章:
25
程序设计版块每日发帖之星
日期:2016-05-03 06:20:0015-16赛季CBA联赛之八一
日期:2018-07-05 10:34:09黑曼巴
日期:2018-07-06 15:19:5015-16赛季CBA联赛之佛山
日期:2018-08-03 13:19:3315-16赛季CBA联赛之山西
日期:2018-08-07 19:46:2315-16赛季CBA联赛之广夏
日期:2018-08-08 19:31:5015-16赛季CBA联赛之青岛
日期:2018-11-26 15:21:5015-16赛季CBA联赛之上海
日期:2018-12-11 09:45:3219周年集字徽章-年
日期:2020-04-18 23:54:5215-16赛季CBA联赛之深圳
日期:2020-04-19 21:40:19黑曼巴
日期:2022-04-03 17:55:1315-16赛季CBA联赛之八一
日期:2018-07-03 16:56:46
发表于 2022-05-20 08:45 |显示全部楼层
回复 1# dahaoshanhe


  1. cat 1
  2. node1
  3. node2
  4. node3

  5. cat 2
  6. /disk1/fa
  7. /disk2/fb
  8. /disk3/fc
  9. /disk4/fd
  10. /disk5/fe
  11. /disk6/ff
  12. /disk7/fg
  13. /disk8/fh

  14. awk 'FILENAME==ARGV[1]{a[++b]=$0}FILENAME==ARGV[2]{c=FNR%b==0?b:FNR%b;print a[c],$0}' 1 2
  15. node1 /disk1/fa
  16. node2 /disk2/fb
  17. node3 /disk3/fc
  18. node1 /disk4/fd
  19. node2 /disk5/fe
  20. node3 /disk6/ff
  21. node1 /disk7/fg
  22. node2 /disk8/fh
复制代码

论坛徽章:
0
发表于 2022-05-20 11:58 |显示全部楼层
awk '
NR==FNR{a[$0]=$0}
NR>FNR{b[$0]=$0}
END{
     len=asort(a,c);
      j=1;
     for(i in b ) {
                   {

                    if(j<=len)
                     {
                    print c[j], b[i]
                     j++
                     }
                    else
                     {
                      j=1
                    print  c[j],b[i]
                      j++
                     }
                   }

                  }
}' fa fb

自己写的姑且能用

论坛徽章:
10
15-16赛季CBA联赛之同曦
日期:2016-06-11 19:22:4115-16赛季CBA联赛之深圳
日期:2020-05-31 16:13:5615-16赛季CBA联赛之同曦
日期:2020-01-28 12:42:47每日论坛发贴之星
日期:2016-08-09 06:20:00程序设计版块每日发帖之星
日期:2016-08-09 06:20:00每日论坛发贴之星
日期:2016-07-12 06:20:00程序设计版块每日发帖之星
日期:2016-07-12 06:20:00程序设计版块每日发帖之星
日期:2016-07-06 06:20:00程序设计版块每日发帖之星
日期:2016-07-04 06:20:0015-16赛季CBA联赛之佛山
日期:2021-02-26 09:33:41
发表于 2022-05-23 11:29 |显示全部楼层
open FH1,"file1";
open FH2,"file2";

@a = <FH1>;
@b = <FH2>;

chomp @a;
chomp @b;

$i = 0;
$len = @a;
for(@b){
    $x = $i%$len;
    print "$a[$x] $_\n";
    $i++;
}

论坛徽章:
6
15-16赛季CBA联赛之浙江
日期:2021-07-14 11:18:4315-16赛季CBA联赛之浙江
日期:2021-08-20 17:26:1015-16赛季CBA联赛之天津
日期:2021-09-01 10:56:4619周年集字徽章-19
日期:2021-10-12 11:08:032016科比退役纪念章
日期:2021-10-12 11:33:4515-16赛季CBA联赛之深圳
日期:2021-11-11 14:25:38
发表于 2022-05-25 17:46 |显示全部楼层
本帖最后由 a5love3n 于 2022-05-29 14:55 编辑
  1. awk 'NR==FNR{a[NR]=$0;b=NR;a[0]=a[b]}NR>FNR{print a[FNR%b]" "$0}' 1.txt 2.txt
复制代码

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP