Board logo

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

作者: lantern    时间: 2016-5-4 13:28     标题: 批处理如何将字符串每隔4个字符插入一个指定字符-?

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

文本内有一些16位cdkey,一行一个,需要每四位插入一个-,如何用bat操作,谢谢
作者: gawk    时间: 2016-5-4 14:10

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /f %%i in ('type "1.txt"') do (
  4.     set str=%%i
  5.     echo !str:~0,4!-!str:~4,4!-!str:~8,4!-!str:~12,4!
  6. ))>2.txt
复制代码

作者: codegay    时间: 2016-5-4 16:42

正则查找替换:
查找
  1. (\w{4})(\w{4})
复制代码
替换为
  1. \1-\2
复制代码

作者: pcl_test    时间: 2016-5-4 20:28

  1. sed -i "s/.\{4\}/&-/g;s/-$//g" "文本.txt"
复制代码

作者: codegay    时间: 2016-5-4 23:16

改进一下。
正则找查
  1. (\w{4})(?=\w{4})
复制代码
替换为:
  1. \1-
复制代码





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