皆様のお知恵を拝借したく投稿しました。
よろしくお願いします。
perlでのデータ処理で2つの入力ファイルがあります
list1
----------------
start end
110
1216
2030
3442
----------------
list2
-----------------
start end
1 5
6 12
14 18
20 28
30 35
37 42
-----------------
この2つのファイルを比較して
(1)list1から見たlist2と重複している領域の個数
(2)list2から見たlist1と重複している領域の個数
(3)重複している領域の長さ
を算出し、出力できるようにperlでコーディングしたいのですが
どのようにしたらよいのでしょうか?
ご助言いただけますと幸いです
No.2ベストアンサー
- 回答日時:
とりあえず (1) のみ、作ってみました。
use strict;
my @list_1 = ([1, 10], [12, 16], [20, 30], [34, 42]);
my @list_2 = ([1, 5], [6, 12], [14, 18], [20, 28], [30, 35], [37, 42]);
my @overlap = join(':', sort { $a <=> $b }
map { $_->[0] .. $_->[1] } @list_1, @list_2) =~ /\b(\d+):\1/g;
my $count;
foreach my $ref (@list_1) {
foreach my $n ($$ref[0] .. $$ref[1]) {
$count++ if grep /^$n$/, @overlap;
}
print "$ref->[0] $ref->[1]: $count\n";
$count = 0;
}
foreach の引数の @list_1 を @list_2 に変更すれば、(2) を出力できます。
(3) は、どのような出力にすればよいのかよく分かりません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# ポインタの型変換、どうやるんでしたっけ? 2 2022/03/28 11:00
- C言語・C++・C# あまりわかりません。 複素数$c$を具体的に定めた複素写像写像$f_c(z)$に対して、原点を含む領 4 2022/10/25 09:17
- Excel(エクセル) エクセルで、ファイルの分割 と ファイルの集約 1 2022/08/28 08:58
- Visual Basic(VBA) VBA 重複チェック後に値をワークシートに転記する方法を教えてください。 1 2023/03/19 12:43
- Perl Perlでファイルの末尾から指定文字列を検索してファイルに吐き出したい 4 2022/04/04 16:15
- Perl Perlで特定文字列から特定文字列までを抜き出したい 4 2022/04/02 14:24
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- 物理学 示すように,真空中の直交座標系を考える。y平面に平行な つ領域Iと領域Iがあり,軸上の領域Iと領域I 1 2023/06/25 14:46
- Word(ワード) ワードのテンプレ作れる? 1 2022/03/26 10:35
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
awkスクリプトでダブルクォーテ...
-
エディターでは改行なのにメモ...
-
オーバーラップ計算法について
-
[awk]uniq -cで複数ファイルの...
-
DOSコマンドで、標準出力を出力...
-
sprintfについて
-
ファイル出力の改行コードをLFに
-
ドメインからIPアドレスあるい...
-
window.open でのファイル指定方法
-
ListBoxのデータを高速でファイ...
-
C言語で特定の行を抽出する方法...
-
ReadLineでの読み出し行を指定する
-
VBAでCSVファイルを途中行まで...
-
パスから最後のディレクトリだ...
-
ヒアドキュメントの書き方
-
Edge スクレイピング
-
ExcelをCSV書き出す場合のシー...
-
close()で例外が投げられる理由
-
CSVデータの編集の際の重複チェ...
-
Perlで特定行から特定行までを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
awkスクリプトでダブルクォーテ...
-
DOSコマンドで、標準出力を出力...
-
重複するデータを抽出できる秀...
-
Perlでファイルの末尾から指定...
-
sprintfについて
-
[Perl]ファイル出力のエンコー...
-
エクセルVBAで素数だけを出力す...
-
文字コードの変換(Shift-JISか...
-
テキストファイルから日本語部...
-
sprintfで10進数を桁数指定で16...
-
ファイル出力の改行コードをLFに
-
Perlからsyslog経由でログを出...
-
PerlからのCSV出力
-
perlでcsvの出力について
-
教えて!perlから.exeファイル...
-
バッチファイルで、記号を含む...
-
perl CGIでのhttpヘッダー出力...
-
print文で&(半角)文字のエラー...
-
Perlでエラーログに日時をつける
-
紙にもホームページにも同じレ...
おすすめ情報