3つのファイルから値をとり、別のファイルに出力するperlコード

私は以下のような値を持つ 1.txt という名前のファイルを1つ持っています:

a
b
c
...

次のような 2.txt という名前の2番目のファイル:

a 123,
a 156,
a 899,
c 255,

次のような 3.txt という3番目のファイル:

a 236,
a 890,
b 123,

上記の3つのファイルすべての値を読み込み、結果を以下のような1つのファイルに書き込むにはどうすればよいですか?

a  123  236,
-  156  890,
-  899  -,
b  -   123,

ファイルは等線ではなく、線は1本もありません。私はこのためにPerlを使用しなければなりません。

最初のファイルから値を取得する必要があります。
私は2番目のファイルを取る必要があり、私は最初のファイルの値に対応する2番目のファイルの2番目の列の値を取る必要があります。

同様に、私は3番目のファイルから値を取らなければなりません。

そして、結果を次のような出力ファイルに書き込む必要があります。
出力ファイルの第2列の第2ファイルのすべての対応する値と、出力ファイルの第3列の第3ファイルのすべての対応する値とを比較する。

ベストアンサー

3つのファイルを読む:最初のものは単純な配列に読み込まれ、他の2つはハッシュ値が配列(配列への参照)であるハッシュに変換されます。

最初の配列をソート順に読み込みます。

最初の配列の各値に対して、2番目と3番目のファイル(対応するハッシュ)から配列を見つけ、配列の値を順番に並べ替えます。第2列と第3列の欠損値と第1列の値の繰り返しを特別に処理して、適切に印刷を処理します。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です