Board logo

标题: [文本处理] 批处理如何将文本的每行内容每隔2个字符插入一个指定字符串? [打印本页]

作者: freesoft00    时间: 2016-5-6 00:54     标题: 批处理如何将文本的每行内容每隔2个字符插入一个指定字符串?

本帖最后由 pcl_test 于 2016-5-6 04:17 编辑

比如文本的内容如下:
123897889789abcdef213343abac

在固定的位置插入两个字符(w:)
w:12w:38w:97w:88w:97......
就是隔开两个字符插入一个w:
作者: pcl_test    时间: 2016-5-6 04:09

http://www.bathome.net/thread-40319-1-1.html
作者: gawk    时间: 2016-5-6 09:11

  1. sed -r "s/.{2}/&w:/g; s/^/w:/" 1.txt > 2.txt
复制代码

作者: WHY    时间: 2016-5-6 12:04

假设每一行都不超过1024/2+2=514个字符
  1. @echo off & setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in (a.txt) do (
  3.     set "s=%%i"
  4.     for /l %%i in (0 4 1024) do if "!s:~%%i!" NEQ "" set "s=!s:~0,%%i!w:!s:~%%i!"
  5.     echo;!s!
  6. )
  7. pause
复制代码

作者: pcl_test    时间: 2016-5-6 21:56

  1. //&cls&more "文本.txt"|cscript -nologo -e:jscript "%~f0"&pause&exit
  2. WSH.echo(WSH.StdIn.ReadAll().replace(/.{2}/g, 'w:$&'));
复制代码





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