我有一个密钥和值的文件,并希望逐步检查每个密钥,看看该密钥是否至少在一个文件中出现一次(或提供计数)。
第一个文件看起来像这样:
"foo.bar" : "hello world",
"lorem.ipsum" : "a quick brown fox",
....
我想扫描子目录中的所有.js文件,看看是否使用了“foo.bar”并提供了该键的计数;然后获取下一个键“lorem.ipsum”并清除子目录中的所有js文件以查看它是否被使用然后提供计数。
我得到了解决方案的部分工作,但没有让整个工作一起工作。挑战是findtr没有使用/ c进行计数和need()来保持一切顺序。
外部我可以迭代遍历字符串文件的每一行......
for /f "skip=1 delims=:" %%a in (src/dict/strs_en.json) do (
findstr /s %%a c:\foo\bar\my\code\*.js
)
但在内部我需要一些更像是在stackoverflow中其他地方的gien的例子:
for /F "delims=" %G in ('findstr /I /S /M "foo.bar" "%CD%\*.js"') do @find /I /C "home." "%~G" | findstr /V /R "^$"
其中“foo.bar”真的是我的%% a
最后,期望的输出将是(我只是想知道使用什么和不使用什么)
"foo.bar" 2
"lorem.ipsum" 1
"dolor.et" 0
要么
"foo.bar"
- file1.js
- file2.js
"lorem.ipsum"
- file3.js
"dolor.et"
-
"test.me"
- file2.js
- file3.js
在运行此批处理文件后,output.log
中的输出是否为您提供了可以使用的功能:
@(For /F Skip^=1^ Delims^=^" %%A In (src\dict\strs_en.json) Do @(
Echo="%%A" & FindStr/SMC:"%%A" C:\foo\bar\my\code\*.js & Echo=))>output.log