Board logo

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

作者: hyundal0    时间: 2017-8-16 18:20     标题: 如何对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
...


请问如何实现?拜托了!
作者: zhanglei1371    时间: 2017-8-16 20:49

  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")
复制代码

作者: PS2.0    时间: 2017-8-17 15:08

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}"
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2