次の形式のシンボルテーブルがあります。
M07UP49A0870I422.wav <s> haraa keelaa <bn> </s>
M07UP49A0870I423.wav <s> <horn> jau <babble> </s>
M07UP49A0861C86105.wav <s> waa khaada aadi kaa upayoga laabhadaayaka paaya gayaa hai </s>
M07UP49A0861C86106.wav <s> aadi kisaan apnee stara para bhii taiyaara kara sakatee hai </s>
M07UP49A0861C86107.wav <s> kii gobara kaa upayoga kandxee banaakara iindhana kee ruupa mee kiyaa jaata hai <bang> </s>
M07UP49A0861C86108.wav <s> geehuun kii phasala kii katxaayii kee baada <horn> kheeto ko aaga lagaakara saapha kiyaa jaata hai <babble> </s>
M07UP49A0861C86109.wav <s> badxqii maatraa mee jiiwaanqu jalakara nashtxa ho jaataa hai <babble> </s>
明らかに、ファイルには2つの列が含まれています。最初の列はオーディオファイル名(拡張子.wav)、2番目の列はオーディオファイルの録音内容です。
2番目の列は4単語以下で構成する必要があります(タグを除く、タグは<>で書かれた単語です)。
たとえば、2番目の行を見てみましょう。この行には1つの単語しかありません。集中する(知っている
<s>
</s>
<babble>
<horn>
タグなので、行の単語数には含まれません。
デフォルトでは、すべての行の2番目の列の単語は<>で囲まれていない文字列です。
今私の使命は、2番目の列で4単語以下の行のみを見つけることです。
私は次のコマンドを使用しました。
gawk 'NF>4' file > output
しかし、結果は得られませんでした。
あなたの便宜のために予想される結果は次のとおりです。
M07UP49A0870I422.wav <s> haraa keelaa <bn> </s>
M07UP49A0870I423.wav <s> <horn> jau <babble> </s>
2 番目の列には haraa と keelaa という 2 つの単語のみが含まれ、2 番目の行に jau という 1 つの単語しか含まれていないため、次の出力が表示されます。
この行に加えて、2番目の列の行は4つ以上の単語で構成されています。
ベストアンサー1
次のAWKスクリプトは元の行をxに保存し、すべてのタグを削除して単語数を計算します(最初のフィールドのファイル名を減らすには1を減算します)。単語数が5未満の場合は、元の行を印刷します。
awk '{x=$0; gsub(/<[^>]*>/, "")} NF-1<5 {print x}' filename