[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]批处理在文本每一行内容后面/行尾插入/添加/加上指定字符串

在每一排数字后面   固定的位置加上“”00    sush  ”   怎么弄个批处理文件一次处理完啊!!  附件已经上传了
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

本帖最后由 WHY 于 2017-3-28 16:55 编辑
  1. gawk "$0~/.+$/{s=\" \";len=17-length($0);for(i=1;i<len;i++)s=s\" \";$0=$0s\"00    sush\"};1" a.txt > b.txt
复制代码
  1. set "s=[IO.File]::ReadAllText('a.txt', [Text.Encoding]::Default)"
  2. PowerShell -c "[regex]::Replace(%s%, '[^\r\n]+', {param($m); $s=$m.Value; $s+' '*(17-$s.Length)+'00    sush'})" > b.txt
复制代码
  1. @if(0)==(0) echo off
  2. cscript //nologo //e:jscript "%~f0" < a.txt > b.txt
  3. pause & goto :EOF
  4. @end
  5. var sp = '                 ';
  6. var s = WSH.StdIn.ReadAll().replace(/[^\r\n]+/g,function(s0){return (s0 + sp).substr(0, 17) + '00    sush'})
  7. WSH.Echo(s)
复制代码

TOP

本帖最后由 Nsqs 于 2017-3-28 15:59 编辑
  1. @powershell -c "[string]$f=((Get-Content -raw '1.txt')-replace '(\d+)',('$1'+''.PadRight(50)))-replace '(.{16}) +',('$1 '+'00'+''.PadRight(4)+'sush');[io.file]::WriteAllLines('n.txt',$f)"
复制代码
保存bat,490毫秒处理完800kb

TOP

回复 28# Nsqs

还有个小问题 这个代码一次能处理多少啊  好像大于500K的文件就处理不了啊

TOP

回复 30# Nsqs

感谢感谢!测试成功 ,你发的这个批处理代码又快又准又能用 终于解决了我的大问题 。 :victory: :victory:

TOP

回复 29# lslkkda


    给你方法了居然还在纠结

TOP

回复 27# ShowCode

好的!
1

评分人数

    • pcl_test: 附件打包,优先文字说明,少发图片PB -4

TOP

回复 26# lslkkda
  1. @powershell -command "foreach($i in Get-Content '1.txt'){[array]$s+=$i.PadRight(17)+'00'+''.PadRight(4)+'sush'};$s|Set-Content 'n.txt'"
复制代码
1

评分人数

TOP

回复 21# lslkkda


    把原文件压缩上传到顶楼,我看一下。

TOP

回复 13# /zhqsystem/zhq
用13楼提供的批处理文件做出来的结果格式是对的 ,跟源文件对比位置还是有差异,多了几个空格,如果能去掉多出来的空格 修改成跟源文件的“00    sush ”位置对齐 就能用了!!

TOP

回复 24# Nsqs


    nonono,这就是你的无知了
  1. 123342 tab 668866 Hollos U
  2. 12332 tab 6652 Holl H
  3. 7777777 Tab s Shwuadd N
  4. 超过8个字符串用多Tab对齐
  5. 1234567898765 Hollo
  6. 1234 Hollo
  7. 1 Hollo
  8. 66666666666666666666666666666666666666666 Hollo
复制代码
复制到记事本里,我还没见过Tab搞不了的
不超过8个字符就会自动对齐
长短不一的时候就计算长度,
除以8得到整数部分
2个字符串的除以8得到整数部分相差数+1补给短的
1个Tab补给长的
肯定对的齐齐的。。。

TOP

回复 15# 老刘1号


    没那么简单,如果用tab的话,每行长短不一就会无法对齐

TOP

  1. powershell -command "foreach($i in Get-Content '1.txt'){[array]$s+=$i.PadRight(20)+'00'+' '+'sush'};$s|Set-Content 'n.txt'"
复制代码
一行
1

评分人数

TOP

回复 17# lslkkda

退格键是什么鬼?然而只是空格,13楼的试了吗

TOP

额~虽然不太懂你们说的什么意思  但我感觉我这问题是个疑难杂症!!   大神留个QQ或者加我QQ1417793009 我传整个源文件研究下!

TOP

返回列表