사용자의 입력 승인을 사용하고 있습니다 read
. 평소대로 계산을 사용하여 wc -c
변수에 저장해 보았지만 결과는 항상 1을 반환합니다.
아래는
#!/bin/bash
echo -n "Enter your plaintext.> "
read text
count=$(echo $text | wc -w)
echo $count
어쨌든 변수가 변수로 저장되지 않은 경우 직접 에코하는 것이 올바른 결과입니다.
#!/bin/bash
echo -n "Enter your plaintext.> "
read text
echo $text | wc -w
답변1
코드가 작동합니다.
read text
count=$( echo "$text" | wc -w )
count
텍스트를 입력하면 2 로 설정됩니다 hello world
.
댓글에서 문자 계산에 대해 이야기하셨습니다.
count=$( echo "$text" | wc -c )
또는
count=${#text}
당신을 위해 그것을 할 것입니다. 그러나 이 wc
솔루션은 마지막 개행 문자도 계산하여 매개변수 확장 방법보다 한 문자 큰 값을 제공합니다. 이 방법은 위에서 했던 것처럼 확장을 큰따옴표로 묶지 wc
않는 한 문자열의 공백도 압축합니다 .$text