Board logo

标题: [文本处理] [已解决] 批处理怎样以顿号间隔符进行换行操作? [打印本页]

作者: 202048    时间: 2022-12-4 10:07     标题: [已解决] 批处理怎样以顿号间隔符进行换行操作?

本帖最后由 202048 于 2022-12-5 09:27 编辑

现有一行(部分)数据列如下:

  草莓、苹果、樱桃、橘子、脐橙、金桔、木瓜、葡萄柚、雪梨、水蜜桃、龙眼、桂圆、荔枝.........


需要以符号"、"为切割符并换行,我用for貌似处理不了单行的,想要效果如下:

草莓
苹果
樱桃
橘子
......
作者: hfxiang    时间: 2022-12-4 10:55

  1. 草莓、苹果、樱桃、橘子、脐橙、金桔、木瓜、葡萄柚、雪梨、水蜜桃、龙眼、桂圆、荔枝
复制代码
以ANSI编码格式保存为1.txt
下载gawk.exe( http://bcn.bathome.net/tool/4.1.0/gawk.exe
执行:
  1. gawk -vRS="、" 1 1.txt>2.txt
复制代码
结果(2.txt)
  1. 草莓
  2. 苹果
  3. 樱桃
  4. 橘子
  5. 脐橙
  6. 金桔
  7. 木瓜
  8. 葡萄柚
  9. 雪梨
  10. 水蜜桃
  11. 龙眼
  12. 桂圆
  13. 荔枝
复制代码

作者: 202048    时间: 2022-12-4 11:23

回复 2# hfxiang


    大佬,此法可行, 不过bat自身能否解决这个问题捏,下载那个稍显麻烦
作者: hfxiang    时间: 2022-12-4 11:40

  1. @echo off
  2. @rem 保存为ANSI格式
  3. set /p str=<1.txt
  4. set "str=%str:、= %"
  5. (for %%z in ( %str% ) do echo;%%z)>2.txt
复制代码

作者: Batcher    时间: 2022-12-4 19:23

回复 1# 202048


test.bat
  1. @echo off
  2. powershell -c "(gc 1.txt) -replace '、', """`r`n"""" > 2.txt
复制代码





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