テキストファイルで3列目または4列目の単語がn文字を超える行をカウントする


0

4つの列があり、スペースで区切られた大きなテキストファイルがあります。

somelongword otherlongword abcde abc

3列目または4列目の単語のn長さが文字数を超える行の数をカウントしたいと思います。最終的には、多くのファイルを調べて、すべてのファイルの各行に合計1つの番号を出力したいと思います。

私の直感では、awkのようなものを使用する必要がありますが、私がやりたいことを行うための構文を理解することはできません。

回答:


1

あなたの直感は正しいです。おそらくsed / awkを介してそれを行うはるかに簡単な方法があります...

#!/usr/bin/perl
use warnings;
use strict;

my $n = 5;
my $linenum = 1;

while (<>)
{
    my @cols = split(/\s+/);
    if ((length($cols[2]) > $n) || (length($cols[3]) > $n))
    {
        print "Line $linenum: $_";
    }
    $linenum++;
}

基準に一致する行番号と行のみを出力しますが、必要なものを出力することは、多くの書き換えを必要としないはずです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.