如何查找文本文件中最短的单词

如何查找文本文件中最短的单词

所以我将所有这些单词都放在一个文本文件中:

dfasdfasdf
adsgad
fghjast
hdasfh
adfhadfn

我必须显示最小单词的字符数,而不使用“awk”和“sed”命令...我已经尝试了 wc 的所有变体,但它适用于全文文件,而不仅仅是每行。

编辑:我很抱歉没有提供有关该主题的更多详细信息。我正在学习 Shell 基础知识,还没有开始在 Linux 上编程。我的这个练习的重点是在屏幕上显示最短的单词有多少个字符。到目前为止,我只学习了命令 tr、cp、cut、sort、head、tail、grep、find、wc...所以我不能使用 awk/sed/我在互联网上学到的任何其他命令或对此进行编程...

答案1

使用参数扩展,您可以获得变量内容的长度:

${#variable}

只需逐行阅读文件并记住最短的单词:

while read word ; do
    : ${shortest:=$word}  # Initialize $shortest if not set.
    if [ ${#word} -lt ${#shortest} ] ; then
        shortest=$word
    fi
done < file.txt
echo "$shortest"

相关内容