Perlを使用してファイル内の科学的数の数を計算する

Perlを使用してファイル内の科学的数の数を計算する

ファイル内の科学的数の数を計算する方法は?ファイルにはスキップする必要がある複数行のヘッダーもあります。

ファイル内容の一部が下に表示されます。

FileHeaderLine1
FileHeaderLine2
FileHeaderLine3
FileHeaderLine4
2.91999996E-001 2.97030300E-001 3.02060604E-001 3.07090908E-001 3.12121212E-001 3.17151517E-001
3.22181821E-001 3.27212125E-001 3.32242429E-001 3.37272733E-001 3.42303038E-001 3.47333342E-001
3.52363646E-001 3.57393950E-001 3.62424254E-001 3.67454559E-001 3.72484863E-001 3.77515137E-001
3.82545441E-001 3.87575746E-001 3.92606050E-001 3.97636354E-001 4.02666658E-001 4.07696962E-001
4.12727267E-001 4.17757571E-001 4.22787875E-001 4.27818179E-001 4.32848483E-001 4.37878788E-001
4.42909092E-001 4.47939396E-001 4.52969700E-001

それでは、上記の例の最初の4行をどのようにスキップし、ファイル内の科学的数の数を計算しますか?

ベストアンサー1

コアモジュールを使用すると、Scalar::Util次のことができます。

$ perl -MScalar::Util=looks_like_number -anle '
    $count += grep { looks_like_number($_) } @F;
    END { print $count }
' file
33

より多くの関連コンテンツをlooks_like_number確認してくださいperldoc perlapi

おすすめ記事