batch-file - 获取文件中的结果计数(按前 3 个字符)。

标签 batch-file

我有一个包含多行的文件,其中一些具有匹配的客户代码。假设我们有客户 ABC、DEF 和 GHI。每个客户都有多个匹配行,因此文件如下:

ABC1
ABC2
DEF1
DEF2
DEF3
GHI1
GHI2
GHI3
GHI4

我想要一个批处理脚本,该脚本将运行并返回客户对每个文件的计数。因此上述文件的输出将是

ABC = 2 files
DEF = 3 files
GHI = 4 files

对此有什么想法吗?

谢谢

最佳答案

@echo off
setlocal EnableDelayedExpansion

for /F %%a in (file.txt) do (
   set line=%%a
   set /A lines[!line:~0,3!]+=1
)

for /F "tokens=2,3 delims=[]=" %%a in ('set lines[') do echo %%a = %%b files

关于batch-file - 获取文件中的结果计数(按前 3 个字符)。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25632068/

相关文章:

windows - 将 TIMECODE 转换为帧编号的批处理

batch-file - 批处理文件 - 多个空格的分隔符

windows - 用于在子文件夹中查找文件夹并获取路径的批处理脚本

windows - 如何使用特定程序打开目录具有特殊字符的特定文件?

batch-file - 如何连接所有 ffmpeg 输入而不使用 Windows 批处理脚本将它们映射到过滤器中?

batch-file - 我该如何修复 %%i 此时是意外的?

android - 强制android测试从命令行批处理文件在不同的模拟器上运行

powershell - PowerShell/批处理脚本重命名每个文件以包括原始名称+文件夹名称

batch-file - 批处理文件错误 - 系统找不到文件 abc.csv

java - 在具有重定向输出的脚本中运行 jar 文件(在循环内)