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

[文本处理] 批处理如何替换文本第二个|字符

本帖最后由 wh123wh123 于 2021-4-3 22:24 编辑

批处理替换文本内多行第二个|字符:
例如:1|900955|茉织B股、茉织华B、九龙山B、*ST九龙B、海创
......
处理后为:1|900955|3|茉织B股、茉织华B、九龙山B、*ST九龙B、海创
......
也就是把第二个|替换为|3|,请问如何实现?

  1. PowerShell "$a=(gc a.txt -ReadCount 0) -replace '^(?:[^|]*\|){2}', '$&3|'; sc b.txt $a"
复制代码
  1. sed -r "s/^([^|]*\|){2}/&3|/" a.txt > b.txt
复制代码
  1. gawk "BEGIN{FS=OFS=\"^|\"}{$2=$2\"^|3\"}1" a.txt > b.txt
复制代码

TOP

  1. @echo off
  2. for /f "tokens=1,2*delims=|" %%i in (a.txt) do (
  3.         echo;%%i^|%%j^|3^|%%k
  4. )
  5. pause
复制代码

TOP

返回列表