使用perl在文本文件中的数据开头附加字段

时间:2014-01-08 09:20:05

标签: perl

我有源文件数据,如下所示

01ADA
02U523919 ff
03U523919 jj
04U523919 kk
01NNA
06U12222 aa
07U88888 bb
08U99999 cc

基于O1ADA或O1NNA,我需要附加此数据并创建输出文件,如下所示

01ADA 02U523919 ff
01ADA 03U523919 jj
01ADA 04U523919 kk
01NNA 06U12222 aa
01NNA 07U88888 bb
01NNA 08U99999 cc

我如何用perl或awk做到这一点 请帮忙。

1 个答案:

答案 0 :(得分:1)

这可能更容易理解。将文件内容放入名为test_file的文件中。

  1 #!/usr/bin/perl
  2 use utf8;
  3 use strict;
  4 use warnings;
  5
  6 sub write_in_special_pattern {
  7     open my $file_handler, '<', 'test_file' or die;
  8     open my $new_handler, '>', 'write_test' or die;
  9     my $sign;
 10     while (my $row = <$file_handler>) {
 11         if ($row =~/01ADA/) {
 12             $sign = '01ADA';
 13             next;
 14         } elsif ($row =~ /01NNA/){
 15             $sign = '01NNA';
 16             next;
 17         }
 18         print $new_handler $sign.' '.$row;
 19     }
 20     close $file_handler;
 21     close $new_handler;
 22 }
 23
 24 write_in_special_pattern();