Perlは2つのファイルを比較し、行を新しいファイルにコピーします

georgd

私はperlの初心者で、2つのファイルをperlと比較しようとしています。1つにはIDのリストが含まれ、もう1つにはIDとその他のテキストを含む文字列が含まれます。IDが一致する行を3番目のファイルにコピーしたいのですが、正しい文字列の代わりに数字しか取得できません。私は何を間違えましたか?

use strict;
use warnings;

open ( IDS , "<id.txt");
my @ids = <IDS>;
chomp(@ids);
close IDS;
my $id = @ids;
open ( META , "<meta.txt");
my @metas = <META>;
chomp(@metas);
my $meta = @metas;

open ( OUT1, ">>", "outtest.txt");
foreach $id (@metas){
    print OUT1 "$meta"."\n";
}
close OUT1;
close META;
ssr1012

ハッシュ変数を試して出力を取得します。

use strict;
use warnings;

open ( META , "<meta.txt");
my %idsValues = (); #Create one new HASH Variable
while(<META>)
{
    my $line = $_;
    if($line=~m{<id>(\d+)</id>\s*<string>([^<>]*)</string>})
    {
        $idsValues{$1} = $2; #Store the values and text into the HASH Variable
    }
}
close(META); #Close the opened file
my @Values;
open ( IDS , "<id.txt");
while(<IDS>)
{
    my $line = $_;
    if($line=~m/<id>(\d+)<\/id>/i)
    {
    #Check if the value presents in the file and push them into ARRAY Variable.
        push(@Values, "IDS: $1\tVALUES: $idsValues{$1}") if(defined $idsValues{$1} );
    }
}
close(IDS); #Close the opened file
open ( OUT1, ">>", "outtest.txt");
print OUT1 join "\n", @Values; #Join with newline and Print the output line in the output file.
close OUT1; #Close the opened file

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

2つのCSVファイルを比較して共通を見つけ、両方のファイル値を新しいファイルにコピーします

分類Dev

Perl(2つのファイルを比較)はメインファイルのみに違いを出力します

分類Dev

SSISプロセスタスクを実行して、2つのファイルを新しいファイルにコピーします

分類Dev

Excelvbaは2つのExcelファイルからワークシートを比較してコピーします

分類Dev

Pythonで2つのファイルを比較し、行の違いを新しいファイルに保存します

分類Dev

2つのファイルを比較し、一致した行を新しいファイルに送信します

分類Dev

2つのフォルダーを比較し、bashを使用してシーケンス番号に基づいて不足しているファイルを新しいフォルダーにコピーします

分類Dev

Perlの任意の行から2つのファイルを比較します

分類Dev

2つの異なるファイルから列をコピーして、新しいファイルに書き込みます

分類Dev

2つのファイルを比較し、iptablesにルールを追加します

分類Dev

複数のフォルダから新しいフォルダにファイルをコピーします-ファイルは同じ名前です

分類Dev

2つのバイナリファイルを新しいファイルにマージします

分類Dev

特定の文字を含む行をコピーして、新しいファイルに貼り付けます

分類Dev

行のコピーをcsvファイルに保存します

分類Dev

ファイル名を新しいファイルにコピーする

分類Dev

2つのファイルの列を3番目のファイルの行としてコピーするにはどうすればよいですか

分類Dev

Pythonは2つのファイルを結合して新しいファイルに書き込みます

分類Dev

2つのファイルを比較し、共通の1列目と2列目の行を印刷して、新しいテーブルを作成します

分類Dev

2つのcsvファイルを比較し、結果を新しい列に追加します

分類Dev

2つのフォルダーを比較し、フォルダーごとに異なるファイルをコピーします

分類Dev

テキストファイルから特定の行をコピーして、新しい行を作成します

分類Dev

ファイル内の行を新しいファイルに抽出します

分類Dev

2つのCSV巨大CSVファイルを比較し、perlを使用して違いを別のcsvファイルに出力します

分類Dev

バッチ:ファイルをtxtファイルからフォルダーにコピーし、差分を新しいファイルに配置します

分類Dev

ファイルを1行ずつ新しいファイルにコピーし、50行ごとに1行追加するシェルスクリプト

分類Dev

2つのファイルを比較し、一致しない場合は空の行を出力しますか?

分類Dev

Javaを使用してファイル内の特定の行までを新しいファイルにコピーする方法

分類Dev

スタックビルドは、出力実行可能ファイルの2つのコピーを作成します

分類Dev

Hadoopの大きなファイルの最初の数行を新しいファイルにコピーするにはどうすればよいですか?

Related 関連記事

  1. 1

    2つのCSVファイルを比較して共通を見つけ、両方のファイル値を新しいファイルにコピーします

  2. 2

    Perl(2つのファイルを比較)はメインファイルのみに違いを出力します

  3. 3

    SSISプロセスタスクを実行して、2つのファイルを新しいファイルにコピーします

  4. 4

    Excelvbaは2つのExcelファイルからワークシートを比較してコピーします

  5. 5

    Pythonで2つのファイルを比較し、行の違いを新しいファイルに保存します

  6. 6

    2つのファイルを比較し、一致した行を新しいファイルに送信します

  7. 7

    2つのフォルダーを比較し、bashを使用してシーケンス番号に基づいて不足しているファイルを新しいフォルダーにコピーします

  8. 8

    Perlの任意の行から2つのファイルを比較します

  9. 9

    2つの異なるファイルから列をコピーして、新しいファイルに書き込みます

  10. 10

    2つのファイルを比較し、iptablesにルールを追加します

  11. 11

    複数のフォルダから新しいフォルダにファイルをコピーします-ファイルは同じ名前です

  12. 12

    2つのバイナリファイルを新しいファイルにマージします

  13. 13

    特定の文字を含む行をコピーして、新しいファイルに貼り付けます

  14. 14

    行のコピーをcsvファイルに保存します

  15. 15

    ファイル名を新しいファイルにコピーする

  16. 16

    2つのファイルの列を3番目のファイルの行としてコピーするにはどうすればよいですか

  17. 17

    Pythonは2つのファイルを結合して新しいファイルに書き込みます

  18. 18

    2つのファイルを比較し、共通の1列目と2列目の行を印刷して、新しいテーブルを作成します

  19. 19

    2つのcsvファイルを比較し、結果を新しい列に追加します

  20. 20

    2つのフォルダーを比較し、フォルダーごとに異なるファイルをコピーします

  21. 21

    テキストファイルから特定の行をコピーして、新しい行を作成します

  22. 22

    ファイル内の行を新しいファイルに抽出します

  23. 23

    2つのCSV巨大CSVファイルを比較し、perlを使用して違いを別のcsvファイルに出力します

  24. 24

    バッチ:ファイルをtxtファイルからフォルダーにコピーし、差分を新しいファイルに配置します

  25. 25

    ファイルを1行ずつ新しいファイルにコピーし、50行ごとに1行追加するシェルスクリプト

  26. 26

    2つのファイルを比較し、一致しない場合は空の行を出力しますか?

  27. 27

    Javaを使用してファイル内の特定の行までを新しいファイルにコピーする方法

  28. 28

    スタックビルドは、出力実行可能ファイルの2つのコピーを作成します

  29. 29

    Hadoopの大きなファイルの最初の数行を新しいファイルにコピーするにはどうすればよいですか?

ホットタグ

アーカイブ