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'
我面临以下问题。我在 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'