cmd 中计算特定单词后的单词的命令是什么?

What is the command in cmd to count words after a particular word?

我面临以下问题。我在 Windows,使用 cmd 并键入此命令 findstr "applications" test.txt。结果是这样的:

应用:sample1、guessGame、test1233、testVibeeer、sofiaa

获取申请数量的命令是什么?我试过 findstr "applications" test.txt | find /c /v "" 但它不起作用。在这种情况下,我想得到 5 的结果,但得到不同的结果。

试试这个命令。

awk -F "," '{print NF}' test.dat

使用 for /f 循环获取相关行,然后使用纯 for 循环计算冒号后的标记:

set count=0
for /f "tokens=2 delims=:" %%a in ('find "applications" test.txt') do (
  for %%b in (%%a) do set /a count+=1
)
echo %count%

(注意,find /c 找到包含搜索字符串的 ,因此您的方法从一开始就注定要失败)

直接在命令行上使用:

set count=0
@for /f "tokens=2 delims=:" %a in ('find "applications" test.txt') do @for %b in (%a) do @set /a count+=1 >nul
echo %count%

如果您想使用最awk-ish 的极简编码,那就是

  gawk/nawk  -F, '$+_=NF++'

  mawk/mawk2 -F, 'NF=$_=NF'