我不是经验丰富的bash用户。我想获取文件的单词计数并将其插回到文件中以用作标识符。
首先,我将变量wordcnt
初始化为零。
wordcnt=0;
然后我运行代码
for file in *.txt; do
wordcnt=$((wc -w < $file));
echo "<field name='wordcount'>$wordcnt</field>" >> $file;
done
我得到的结果是
-bash: wc -w < file.txt: syntax error: invalid arithmetic operator
(error token is ".txt")
我不认为我可以按照我wordcnt
变量的方式将字数应用于{{1}}变量。
如何将单词count应用于变量,以便我可以在之后将其插入到文件中?
答案 0 :(得分:5)
你需要丢掉一对额外的parens:
for file in *.txt; do
wordcnt=$(wc -w < $file);
echo "<field name='wordcount'>$wordcnt</field>" >> $file;
done
命令替换$(..)
将捕获wc
的输出并将其分配给变量wordcnt
。