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

[文本处理] 如何对txt文本按指定字符分列,替换其中两个指定列的内容

本帖最后由 pcl_test 于 2017-8-16 18:43 编辑

请教如何批量修改txt文件
对文件夹内所有txt文件进行操作,
txt文件有固定格式,分隔符是“,”,形如:
...
编号11,15.5,11.7,14.4,19.7,3163897,36593100.00
编号12,15.5,11.7,13.9,18.6,2376942,27510228.00
...
然后修改,将最后一列去掉,将第五列数据再粘贴一次到最后面,就好像:
...
编号11,15.5,11.7,14.4,19.7,3163897,19.7
编号12,15.5,11.7,13.9,18.6,2376942,18.6
...


请问如何实现?拜托了!

  1. for /f "usebackq delims=" %%i in (`dir /a-d /b /s *.txt`) do (gawk -F, "BEGIN{OFS=\",\"}{print $1,$2,$3,$4,$5,$6,$5}" "%%i" >>"%%~dpi\tem_%%~ni_new%%~xi")
复制代码

TOP

test.bat
  1. @echo off
  2. powershell -c "Get-ChildItem *.txt | ForEach-Object {$NewFile = 'New-' + $_.Name; Get-Content $_ | ForEach-Object {$a = $_ -split ','; $a[6]=$a[4]; $a -join ','} | Out-File $NewFile}"
复制代码
环境所限,需要使用 PowerShell 2.0 版本。

TOP

返回列表