免费注册 查看新帖 |

Chinaunix

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

怎么将结果输出到多个文本 [复制链接]

论坛徽章:
1
15-16赛季CBA联赛之山东
日期:2019-02-18 23:04:06
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-10-14 10:21 |只看该作者 |倒序浏览
本帖最后由 很宅的男 于 2016-10-14 10:25 编辑
  1. JF010001_001  [
  2.   -0.4976308 -15.11435 -14.07319 -14.73652 -12.40263 -8.919751 -9.241934 -13.30885 -12.94467 -0.9947345 -5.289194 -15.20705 -4.435282 -14.33005 -12.56616 -9.570408 -13.50989 -12.99365 -13.17705 -7.68175 -15.09027 -14.40681 -7.388959 -14.79304 -9.430817 -13.30785 -13.91133 -15.14624 -13.26448 -16.24634 -14.42035 -14.69762 -13.06907 -13.92113 -6.599867 -16.11545 -13.5238 -12.33458 -13.81118 -17.78513 -14.51113 -9.610849 -17.75916 -13.19057 -15.87737 -13.18622 -13.2493 -14.39678 -10.79917 -12.00336 -11.80744 -14.28799 -13.08898 -9.319864 -6.151532 -10.67372 -13.72164 -15.97973 -13.44776 -11.5431 -13.328 -12.77358 -13.76712 -15.92707 -15.62565 -12.35836 -13.36001 -12.1712 -13.81794 -14.80945 -13.93962 -16.30116 -15.29088 -13.9798 -15.17189 -14.02892 -12.32962 -13.34761 -14.4769 -10.4759 -10.59203 -14.15576 -14.50003 -11.90241
  3.   -0.4286098 -15.52006 -14.45782 -15.2543 -13.24257 -9.269724 -10.26199 -14.0871 -13.66951 -1.075447 -5.902932 -15.73346 -6.433881 -14.54199 -12.97235 -9.749544 -13.859 -14.1427 -13.60229 -8.310029 -15.9679 -15.09697 -8.309935 -15.37859 -9.709194 -14.48385 -14.16212 -15.14511 -14.18556 -16.76377 -15.23199 -14.80561 -13.38114 -14.23376 -7.670321 -16.29078 -13.96735 -13.11451 -14.75158 -18.19124 -14.68001 -10.3726 -20.42161 -16.83154 -19.5169 -16.12105 -16.68032 -17.48241 -14.1363 -14.45619 -14.91978 -17.30317 -16.85337 -13.11343 -7.59408 -15.19278 -16.97553 -19.25315 -16.36188 -13.76742 -16.50495 -15.66461 -16.5326 -19.03967 -18.24148 -15.82673 -17.27408 -16.42863 -16.25935 -18.78489 -16.78156 -19.51006 -18.32454 -17.21379 -18.61867 -17.57475 -15.98013 -15.61132 -17.33378 -13.74183 -13.43599 -17.1345 -17.36407
  4.   -2.20167 -17.85997 -17.13088 -17.70187 -15.51144 -10.70817 -13.66142 -17.02667 -16.37534 -0.1184443 -8.809753 -17.72066 -11.83916 -15.9146 -15.15758 -10.99791 -15.69651 -16.30374 -16.27624 -10.00622 -18.37856 -17.6988 -10.27363 -18.99123 -10.72968 -16.45831 -17.16539 -16.3425  ]
  5. JF010001_008  [
  6.   -0.1141755 -12.70077 -12.85924 -12.87205 -11.43855 -6.903705 -9.610289 -11.28247 -11.1914 -2.483123 -4.576998 -13.33492 -9.346786 -11.89632 -11.39485 -7.367419 -10.45122 -12.0892 -10.54556 -5.804185 -13.95412 -13.19231 -7.216301 -12.8837 -8.273722 -12.343 -12.28896 -11.6485 -13.40136 -13.46197 -10.0817 -11.48715 -11.02273 -11.39905 -6.134798 -12.66079 -12.59802 -11.92332 -9.286308 -14.30421 -13.42358 -5.710855 -14.62212 -17.65285 -15.66903 -18.08914 -16.24863 -14.89477 -15.23636 -14.49819 -15.97255 -12.61971 -16.62127 -15.78372 -14.28142 -9.97547 -14.11617 -16.2526 -18.73984 -15.57616 -11.65039 -16.49042 -16.01309 -15.78485 -19.10103 -18.03356 -15.90148 -17.29946 -15.99308 -16.46096 -17.59023 -16.96824 -16.23303 -17.74468 -14.78152 -17.87639 -17.82803 -15.82684 -16.60353 -17.04974 -14.5432 -12.15305 -17.0866 -16.57143 -15.83137 ]
复制代码
我有一个这样的文本,现在需要把每一对[]内的内容输出到一个文本里,也就是有多少对[],就要输出到多少个文本,请问该怎么输出呢,还请各位大神不吝赐教,谢谢啦

论坛徽章:
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
2 [报告]
发表于 2016-10-14 11:39 |只看该作者
    JF010001_001  [
      -0.4976308 -15.11435 -14.07319 -14.73652 -12.40263 -8.919751 -9.241934 -13.30885 -12.94467 -0.9947345 -5.289194 -15.20705 -4.435282 -14.33005 -12.56616 -9.570408 -13.50989 -12.99365 -13.17705 -7.68175 -15.09027 -14.40681 -7.388959 -14.79304 -9.430817 -13.30785 -13.91133 -15.14624 -13.26448 -16.24634 -14.42035 -14.69762 -13.06907 -13.92113 -6.599867 -16.11545 -13.5238 -12.33458 -13.81118 -17.78513 -14.51113 -9.610849 -17.75916 -13.19057 -15.87737 -13.18622 -13.2493 -14.39678 -10.79917 -12.00336 -11.80744 -14.28799 -13.08898 -9.319864 -6.151532 -10.67372 -13.72164 -15.97973 -13.44776 -11.5431 -13.328 -12.77358 -13.76712 -15.92707 -15.62565 -12.35836 -13.36001 -12.1712 -13.81794 -14.80945 -13.93962 -16.30116 -15.29088 -13.9798 -15.17189 -14.02892 -12.32962 -13.34761 -14.4769 -10.4759 -10.59203 -14.15576 -14.50003 -11.90241
      -0.4286098 -15.52006 -14.45782 -15.2543 -13.24257 -9.269724 -10.26199 -14.0871 -13.66951 -1.075447 -5.902932 -15.73346 -6.433881 -14.54199 -12.97235 -9.749544 -13.859 -14.1427 -13.60229 -8.310029 -15.9679 -15.09697 -8.309935 -15.37859 -9.709194 -14.48385 -14.16212 -15.14511 -14.18556 -16.76377 -15.23199 -14.80561 -13.38114 -14.23376 -7.670321 -16.29078 -13.96735 -13.11451 -14.75158 -18.19124 -14.68001 -10.3726 -20.42161 -16.83154 -19.5169 -16.12105 -16.68032 -17.48241 -14.1363 -14.45619 -14.91978 -17.30317 -16.85337 -13.11343 -7.59408 -15.19278 -16.97553 -19.25315 -16.36188 -13.76742 -16.50495 -15.66461 -16.5326 -19.03967 -18.24148 -15.82673 -17.27408 -16.42863 -16.25935 -18.78489 -16.78156 -19.51006 -18.32454 -17.21379 -18.61867 -17.57475 -15.98013 -15.61132 -17.33378 -13.74183 -13.43599 -17.1345 -17.36407
      -2.20167 -17.85997 -17.13088 -17.70187 -15.51144 -10.70817 -13.66142 -17.02667 -16.37534 -0.1184443 -8.809753 -17.72066 -11.83916 -15.9146 -15.15758 -10.99791 -15.69651 -16.30374 -16.27624 -10.00622 -18.37856 -17.6988 -10.27363 -18.99123 -10.72968 -16.45831 -17.16539 -16.3425  ]
    JF010001_008  [
      -0.1141755 -12.70077 -12.85924 -12.87205 -11.43855 -6.903705 -9.610289 -11.28247 -11.1914 -2.483123 -4.576998 -13.33492 -9.346786 -11.89632 -11.39485 -7.367419 -10.45122 -12.0892 -10.54556 -5.804185 -13.95412 -13.19231 -7.216301 -12.8837 -8.273722 -12.343 -12.28896 -11.6485 -13.40136 -13.46197 -10.0817 -11.48715 -11.02273 -11.39905 -6.134798 -12.66079 -12.59802 -11.92332 -9.286308 -14.30421 -13.42358 -5.710855 -14.62212 -17.65285 -15.66903 -18.08914 -16.24863 -14.89477 -15.23636 -14.49819 -15.97255 -12.61971 -16.62127 -15.78372 -14.28142 -9.97547 -14.11617 -16.2526 -18.73984 -15.57616 -11.65039 -16.49042 -16.01309 -15.78485 -19.10103 -18.03356 -15.90148 -17.29946 -15.99308 -16.46096 -17.59023 -16.96824 -16.23303 -17.74468 -14.78152 -17.87639 -17.82803 -15.82684 -16.60353 -17.04974 -14.5432 -12.15305 -17.0866 -16.57143 -15.83137 ]
如果前面的那个值在整个文件中唯一的话, 用哪个名称作为文件名就行了.

论坛徽章:
28
15-16赛季CBA联赛之八一
日期:2016-02-22 19:10:4215-16赛季CBA联赛之深圳
日期:2016-12-01 10:34:0415-16赛季CBA联赛之新疆
日期:2016-12-07 10:24:2915-16赛季CBA联赛之同曦
日期:2016-12-15 12:06:43CU十四周年纪念徽章
日期:2016-12-18 13:03:4415-16赛季CBA联赛之吉林
日期:2017-01-03 15:52:2515-16赛季CBA联赛之辽宁
日期:2017-01-04 14:58:2415-16赛季CBA联赛之辽宁
日期:2017-01-15 09:42:512016科比退役纪念章
日期:2017-02-06 17:21:50黑曼巴
日期:2017-02-10 15:46:1215-16赛季CBA联赛之上海
日期:2017-03-18 10:14:5415-16赛季CBA联赛之青岛
日期:2017-03-18 22:00:44
3 [报告]
发表于 2016-10-14 12:21 |只看该作者

  1. awk '/_/{close(f);f=$1;next}/]/{sub(/\s+]/,"")}{print > f}' file
复制代码

论坛徽章:
1
15-16赛季CBA联赛之山东
日期:2019-02-18 23:04:06
4 [报告]
发表于 2016-10-14 13:24 |只看该作者
回复 2# sunzhiguolu

这个我知道,只是我不知道怎么保存那么多文件到不同的文本里去

论坛徽章:
1
15-16赛季CBA联赛之山东
日期:2019-02-18 23:04:06
5 [报告]
发表于 2016-10-14 13:24 |只看该作者
回复 3# moperyblue

这个方法可行,谢谢啦

论坛徽章:
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
6 [报告]
发表于 2016-10-14 17:32 |只看该作者
本帖最后由 sunzhiguolu 于 2016-10-14 17:33 编辑

回复 4# 很宅的男
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;

  4. my ($fn, $lines);
  5. while (<DATA>){
  6.         my @aList = split;
  7.         if ($aList[-1] eq '['){
  8.                 $fn = $aList[0];
  9.                 next;
  10.         }
  11.         $lines .= $_;
  12.         if ($aList[-1] eq ']'){
  13.                 $lines =~ y/]//d;
  14.                 open (my $fhW, '>', $fn);
  15.                 print $fhW $lines;
  16.                 close ($fhW);
  17.                 $lines = "";
  18.         }
  19. }

  20. __DATA__
  21.     JF010001_001  [
  22.       -0.4976308 -15.11435 -14.07319 -14.73652 -12.40263 -8.919751 -9.241934 -13.30885 -12.94467 -0.9947345 -5.289194 -15.20705 -4.435282 -14.33005 -12.56616 -9.570408 -13.50989 -12.99365 -13.17705 -7.68175 -15.09027 -14.40681 -7.388959 -14.79304 -9.430817 -13.30785 -13.91133 -15.14624 -13.26448 -16.24634 -14.42035 -14.69762 -13.06907 -13.92113 -6.599867 -16.11545 -13.5238 -12.33458 -13.81118 -17.78513 -14.51113 -9.610849 -17.75916 -13.19057 -15.87737 -13.18622 -13.2493 -14.39678 -10.79917 -12.00336 -11.80744 -14.28799 -13.08898 -9.319864 -6.151532 -10.67372 -13.72164 -15.97973 -13.44776 -11.5431 -13.328 -12.77358 -13.76712 -15.92707 -15.62565 -12.35836 -13.36001 -12.1712 -13.81794 -14.80945 -13.93962 -16.30116 -15.29088 -13.9798 -15.17189 -14.02892 -12.32962 -13.34761 -14.4769 -10.4759 -10.59203 -14.15576 -14.50003 -11.90241
  23.       -0.4286098 -15.52006 -14.45782 -15.2543 -13.24257 -9.269724 -10.26199 -14.0871 -13.66951 -1.075447 -5.902932 -15.73346 -6.433881 -14.54199 -12.97235 -9.749544 -13.859 -14.1427 -13.60229 -8.310029 -15.9679 -15.09697 -8.309935 -15.37859 -9.709194 -14.48385 -14.16212 -15.14511 -14.18556 -16.76377 -15.23199 -14.80561 -13.38114 -14.23376 -7.670321 -16.29078 -13.96735 -13.11451 -14.75158 -18.19124 -14.68001 -10.3726 -20.42161 -16.83154 -19.5169 -16.12105 -16.68032 -17.48241 -14.1363 -14.45619 -14.91978 -17.30317 -16.85337 -13.11343 -7.59408 -15.19278 -16.97553 -19.25315 -16.36188 -13.76742 -16.50495 -15.66461 -16.5326 -19.03967 -18.24148 -15.82673 -17.27408 -16.42863 -16.25935 -18.78489 -16.78156 -19.51006 -18.32454 -17.21379 -18.61867 -17.57475 -15.98013 -15.61132 -17.33378 -13.74183 -13.43599 -17.1345 -17.36407
  24.       -2.20167 -17.85997 -17.13088 -17.70187 -15.51144 -10.70817 -13.66142 -17.02667 -16.37534 -0.1184443 -8.809753 -17.72066 -11.83916 -15.9146 -15.15758 -10.99791 -15.69651 -16.30374 -16.27624 -10.00622 -18.37856 -17.6988 -10.27363 -18.99123 -10.72968 -16.45831 -17.16539 -16.3425  ]
  25.     JF010001_008  [
  26.       -0.1141755 -12.70077 -12.85924 -12.87205 -11.43855 -6.903705 -9.610289 -11.28247 -11.1914 -2.483123 -4.576998 -13.33492 -9.346786 -11.89632 -11.39485 -7.367419 -10.45122 -12.0892 -10.54556 -5.804185 -13.95412 -13.19231 -7.216301 -12.8837 -8.273722 -12.343 -12.28896 -11.6485 -13.40136 -13.46197 -10.0817 -11.48715 -11.02273 -11.39905 -6.134798 -12.66079 -12.59802 -11.92332 -9.286308 -14.30421 -13.42358 -5.710855 -14.62212 -17.65285 -15.66903 -18.08914 -16.24863 -14.89477 -15.23636 -14.49819 -15.97255 -12.61971 -16.62127 -15.78372 -14.28142 -9.97547 -14.11617 -16.2526 -18.73984 -15.57616 -11.65039 -16.49042 -16.01309 -15.78485 -19.10103 -18.03356 -15.90148 -17.29946 -15.99308 -16.46096 -17.59023 -16.96824 -16.23303 -17.74468 -14.78152 -17.87639 -17.82803 -15.82684 -16.60353 -17.04974 -14.5432 -12.15305 -17.0866 -16.57143 -15.83137 ]
复制代码



论坛徽章:
1
15-16赛季CBA联赛之山东
日期:2019-02-18 23:04:06
7 [报告]
发表于 2016-10-23 04:31 |只看该作者
回复 3# moperyblue
你好,我在用这个awk命令的时候报了个错,请问你知道是怎么回事吗?谢谢啦,错误如下:
  1. awk: (FILENAME=post_train_all FNR=1) fatal: expression for `>' redirection has null string value
复制代码


论坛徽章:
28
15-16赛季CBA联赛之八一
日期:2016-02-22 19:10:4215-16赛季CBA联赛之深圳
日期:2016-12-01 10:34:0415-16赛季CBA联赛之新疆
日期:2016-12-07 10:24:2915-16赛季CBA联赛之同曦
日期:2016-12-15 12:06:43CU十四周年纪念徽章
日期:2016-12-18 13:03:4415-16赛季CBA联赛之吉林
日期:2017-01-03 15:52:2515-16赛季CBA联赛之辽宁
日期:2017-01-04 14:58:2415-16赛季CBA联赛之辽宁
日期:2017-01-15 09:42:512016科比退役纪念章
日期:2017-02-06 17:21:50黑曼巴
日期:2017-02-10 15:46:1215-16赛季CBA联赛之上海
日期:2017-03-18 10:14:5415-16赛季CBA联赛之青岛
日期:2017-03-18 22:00:44
8 [报告]
发表于 2016-10-23 09:39 |只看该作者
回复 7# 很宅的男

再加个判断吧 因为文件第一行不是有效数据
  1. awk '/_/{close(f);f=$1;next}/]/{sub(/\s+]/,"")}length(f){print > f}' post_train_all
复制代码

论坛徽章:
0
9 [报告]
发表于 2016-11-06 23:12 |只看该作者
写了一个,可以自定义生成目录,并且输出的全部文件在该目录中。
  1. #!/usr/bin/perl

  2. use warnings;
  3. use strict;

  4. my $return = system( 'mkdir /media/SGI-HLF/files' );
  5. unless ( $return == 0 ) {
  6.         die "Can't mkdir: $?";
  7. } else {
  8.         print "The target dir is created successfully!\n";
  9. }
  10. chdir '/media/SGI-HLF/files' or die "Can't cd the dir: $!";

  11. my $filename;
  12. while (<>) {
  13.         chomp;
  14.         if (/^(JF.*?)\s+/m) {
  15.                 $filename = $1;
  16.                 next;
  17.         }
  18.         open OUTPUT, '>', $filename.'.txt' or die "Can't output the file: $!";
  19.         s/^\s+//m;
  20.         s/\]$//m;
  21.         print OUTPUT $_, "\n";
  22. }
  23. close OUTPUT;
复制代码

其中的路径可以改一下。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP