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 回答