我不是一个有经验的 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
变量。
如何将字数应用于变量,以便之后可以将其插入到文件中?
最佳答案
你需要删除额外的一对括号:
for file in *.txt; do
wordcnt=$(wc -w < $file);
echo "<field name='wordcount'>$wordcnt</field>" >> $file;
done
命令替换 $(..)
将捕获 wc
的输出并将其分配给变量 wordcnt
。
关于Bash:如何获取文件的字数并将其插入文件本身?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25553700/