我正在处理一个文本文件,其中包含带有LaTeX样式注释的普通文本(以%
开头的行)。要确定文件的非注释字数,我在Bash中运行此命令:
grep -v "^%" filename | wc -w
返回我期望的单词数。但是,如果从vim中运行此命令:
:r! grep -v "^%" filename | wc -w
它输出包含评论的单词计数,但我无法弄清楚原因。
例如,使用此文件:
%This is a comment.
This is not a comment.
从vim外部运行命令返回5,但是在vim中打开文件并运行类似命令会打印9。
我也遇到了让vim在命令的输出前加上“%”的问题,但如果输出错了,那么这个问题就变得无关紧要了。
答案 0 :(得分:1)
%
字符在vi中是特殊的。它将替换当前文件的文件名。
试试这个:
:r! grep -v "^\%" filename | wc -w
与之前相同但反斜杠 - 逃避%
。在我刚才的测试中,您的示例:r!
命令打印了9,就像它为您所做的那样,以及上面打印的5。