我需要遍历提供的文本文件并计算文件中的字符数。该文件只包含一个我应该分析的单词。所以基本上,我只需知道单词的长度。我想将长度分配给我在bash文件中定义的变量。这就是我所拥有的(忽略其他if语句,我知道它正常工作。我只需要帮助while循环):
#!/bin/bash
FILE=$1
COUNT=0
NUMCHARS=0
while IFS= read -rN1 char; do
if [[ "$char" == $'[a-zA-Z0-9#$+%@]' ]]; then
let NUMCHARS=NUMCHARS+1
fi
done < "$FILE"
if [ -r "${FILE}" ]; then
if /bin/egrep -q [09] $FILE ; then
let COUNT=COUNT+5
fi
fi
echo $COUNT
echo $NUMCHARS
答案 0 :(得分:3)
该文件只包含一个单词
在这种情况下,你可以这样做:
# read the whole file in a variable
w="$(<"$FILE")"
# get the length
echo "length is: ${#w}"
选项2:使用wc
len=$(( $(wc -c < "$FILE") - 1 ))