1

次のようにフォーマットされた行を持つバイリンガルレキシコンの大きなファイルがあります。

abatement: disminucion; mitigacion; moderacion; rebaja; deduccion; supresion; anulacion

どの行に最も翻訳された単語が含まれているかを調べようとしているので、最も多く出現する行を見つけて;、英語の単語をエコーし​​ます。

なんとか近づけることができましたが、sedを使用してデータを削除しているため、英語の単語をその行に一致させることができません。

何か案は?

4

2 に答える 2

3
awk -F'[:;]' '{if(NF>n){n=NF;w=$1}}END{print w}' filename
于 2013-03-27T02:43:05.317 に答える
1

;フィールドセパレータとして扱うと、の行;に最も多くのフィールドが含まれます。

while IFS=';' read -a fields; do
    n=${#fields[@]}
    if (( n > max )); then
       max=$n
       english=${fields[0]%:}
    fi
done < file.txt
echo "$english"
于 2013-03-27T12:40:34.707 に答える