텍스트 파일에서 가장 짧은 단어를 찾는 방법

텍스트 파일에서 가장 짧은 단어를 찾는 방법

그래서 저는 이 모든 단어를 텍스트 파일에 넣었습니다.

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"

관련 정보