Board logo

标题: [文本处理] 如何用批处理生成新格式的文本?文本数量几万行! [打印本页]

作者: idc878787    时间: 2023-7-2 00:21     标题: 如何用批处理生成新格式的文本?文本数量几万行!

如何用批处理生成新格式的文本???文本数量几万行!

文本1.txt

1785798353
2093080898
1969151359
3658584162
242776422
1969151473
1964825443

文本2.txt

[1785798353, 1785798353], [2093080898, 2093080898], [1969151359, 1969151359], [3658584162, 3658584162], [242776422, 242776422], [1969151473, 1969151473], [1964825443, 1964825443]
作者: 77七    时间: 2023-7-2 01:09

是将几万行按文本2.txt格式生成一行吗?
作者: idc878787    时间: 2023-7-2 05:54

回复 2# 77七


    是啊
作者: 77七    时间: 2023-7-2 06:22

回复 3# idc878787


  
  1. @echo off
  2. (
  3. call :1
  4. for /f "skip=1 delims=" %%a in ('find /v "" ^<1.txt') do (
  5. set /p=, [%%a, %%a]
  6. )
  7. echo=
  8. )<nul >2.txt
  9. pause
  10. exit
  11. :1
  12. for /f "delims=" %%a in ('find /v "" ^<1.txt') do (
  13. set /p =[%%a, %%a]
  14. exit /b
  15. )
复制代码

作者: idc878787    时间: 2023-7-2 07:18

回复 4# 77七


    谢谢!
作者: LTSC1809    时间: 2023-7-2 08:17

回复 1# idc878787
@echo off
for /f "delims=" %%i in (1.txt) do echo [%%i,%%i],>>2.txt
pau'se
作者: qixiaobin0715    时间: 2023-7-2 09:28

有那么复杂吗?
  1. @echo off
  2. (for /f "delims=" %%i in (1.txt) do set /p str=[%%i,%%i],<nul)>2.txt
复制代码

作者: Batcher    时间: 2023-7-2 09:57

回复 6# LTSC1809


    没看懂需求吧,楼主的要求是生成的结果在一行。
作者: Batcher    时间: 2023-7-2 09:59

回复 7# qixiaobin0715


    结尾多了一个逗号
作者: qixiaobin0715    时间: 2023-7-2 10:02


作者: LTSC1809    时间: 2023-7-2 10:09

回复 8# Batcher 是我没注意到,我还以为是照2.txt的格式生成呢
作者: hfxiang    时间: 2023-7-3 08:55

回复 1# idc878787
可试试第3方工具gawk( http://bcn.bathome.net/tool/4.1.0/gawk.exe
  1. gawk "NR==1{printf(\"[\045s, \045s]\",$0,$0)}NR>1{printf(\", [\045s, \045s]\",$0,$0)}" 1.txt>2.txt
复制代码

作者: Nsqs    时间: 2023-7-3 13:37

本帖最后由 Nsqs 于 2023-7-3 13:38 编辑

不用第三方,直接用
  1. powershell "[string]((gc 1.txt) -replace '(\d+)','[$1, $1]') -replace '] ','],'" >2.txt
复制代码





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