Board logo

标题: [文本处理] 批处理如何替换文本第二个|字符 [打印本页]

作者: wh123wh123    时间: 2021-4-3 22:22     标题: 批处理如何替换文本第二个|字符

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

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

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

作者: WHY    时间: 2021-4-4 00:03

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





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