Bash:如何获取文件的字数并将其插入文件本身?

时间:2014-08-28 16:30:30

标签: bash

我不是经验丰富的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应用于变量,以便我可以在之后将其插入到文件中?

1 个答案:

答案 0 :(得分:5)

你需要丢掉一对额外的parens:

for file in *.txt; do 
    wordcnt=$(wc -w < $file);
    echo "<field name='wordcount'>$wordcnt</field>" >> $file;
done

命令替换$(..)将捕获wc的输出并将其分配给变量wordcnt