[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
BAT+js 应该会好点,
  1. @if(0)==(0) echo off
  2. rem ansi编码保存文件
  3. cscript.exe //NoLogo //E:JScript "%~f0" 1.txt 2.txt>3.txt
  4. pause&goto:eof
  5. @end
  6. function getText(file){
  7.        var fso, fi, arr;
  8.        fso = new ActiveXObject("Scripting.FileSystemObject");
  9.        fi = fso.OpenTextFile(file);
  10.        arr = fi.ReadAll().split(/[\n|\r\n]{1,}/);
  11.        fi.Close();
  12.        return arr;
  13. }
  14. var arr,brr, ar,br;
  15. arr = getText(WSH.Arguments(0));
  16. brr = getText(WSH.Arguments(1));
  17. var len=arr.length;
  18. for (var i=0; i<len; i++) {
  19.       ar = arr[i].split('');
  20.       br= brr[i].split('');
  21.       var length = ar.length;
  22.       var a='',b='';
  23.       for (var j=0; j<length; j++) {
  24.              if (ar[j] != br[j] ){
  25.                  a += ar[j];
  26.                  b +=br[j];
  27.              }
  28.       }
  29.       if (a) {WSH.Echo(a + " → " + b)};
  30. }
复制代码
1

评分人数

TOP

回复 11# 每天几分
前面能处理的话 查一下文本格式呢 按你说的情况每行字数相同,行数相同 所以代码没做其他判断

TOP

gawk的话 这样也可以
  1. gawk -v file="2.txt" -F "" "{for(i=1;i<=NF;i++)a[i]=$i}{getline<file;s=null;for(i=NF;i>0;i--)if(a[i]!=$i ){s=s==null?a[i]\"→\"$i:a[i] s $i};if(s)print(s)}" 1.txt >3.txt
复制代码
1

评分人数

TOP

返回列表