Board logo

标题: [文本处理] 求问批处理如何在相同位置添加固定字符? [打印本页]

作者: 有理想的PIG    时间: 2019-6-29 21:18     标题: 求问批处理如何在相同位置添加固定字符?



在每一列的相同位置添加  111|
0|000001|互联金融||   变成
0|000001|111|互联金融||
作者: miqilaosu    时间: 2019-6-30 11:18

本帖最后由 miqilaosu 于 2019-6-30 11:31 编辑

回复 1# 有理想的PIG
  1. @echo off
  2. for /f  %%a in ('dir /s /b *.txt') do (
  3. (for /f "tokens=1-5* delims=|" %%i in ('type "%%a"') do ( echo.%%~i^|%%j^|111^|%%k^|^|%%l ))>"%%~na.ba"
  4. move "%%~na.ba" "%%a"
  5. )
  6. pause
复制代码
注意备份原文件,不要重复使用, 文件格式 不同的千万不要使用这个
作者: xczxczxcz    时间: 2019-6-30 15:38

win8.1 win10 或 PS 4.0及以上:
  1. Ls *.txt|%{[regex]::Replace((gc $_ -raw),'(?<1>\d{6}\|)','${1}111|')|sc $_ -Force}
复制代码
win8.0 或 PS 3.0及以下:
  1. Ls *.txt|%{[regex]::Replace(((gc $_) -join "`r`n"),'(?<1>\d{6}\|)','${1}111|')|sc $_ -Force}
复制代码

作者: Batcher    时间: 2019-7-1 09:42

http://bcn.bathome.net/s/tool/index.html?key=sed
  1. sed -i -r "s/^.{9}/&111|/" 1.txt
复制代码





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