[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @if(0)==(0) echo off
  2. type 1.txt | cscript //nologo //e:jscript "%~f0" > 2.txt
  3. pause & exit /b
  4. @end
  5. var str = WSH.StdIn.ReadAll();
  6. var reg = /^(\S+)[ \t]+(\d+)/mg;
  7. var obj = {}
  8. while (arr = reg.exec(str)) {
  9.     var key = arr[1];
  10.     var value = 1 * arr[2];
  11.     obj[key] = obj.hasOwnProperty(key) ? obj[key] + value : value;
  12. }
  13.         
  14. for (var key in obj) WSH.Echo(key + ' ' + obj[key]);
复制代码
1

评分人数

TOP

本帖最后由 WHY 于 2023-7-13 11:47 编辑
  1. PowerShell "gc 1.txt | group{($_ -split '\s+')[0]} | forEach{$_.Name + ' ' + ($_.Group -replace '^\S+' | measure -Sum).Sum}" > 2.txt
复制代码
1

评分人数

TOP

Test.ps1
  1. $arrIn  = [IO.File]::ReadAllLines('1.txt') -match '^\S+\s+\d+';
  2. $arrOut = [Collections.ArrayList]@();
  3. $dict   = New-Object 'System.Collections.Generic.Dictionary[string, Int]';
  4. for ($i = 0; $i -lt $arrIn.Count; $i++) {
  5.     $arr = $arrIn[$i] -split '\s+';
  6.     $key = $arr[0];
  7.     $value = 1 * $arr[1];
  8.     $dict[$key] += $value;
  9. }
  10. forEach ($key In $dict.Keys) {
  11.     [void]$arrOut.Add($key + ' ' + $dict[$key]);
  12. }
  13. [IO.File]::WriteAllLines('2.txt', $arrOut);
复制代码
1

评分人数

TOP

返回列表