标题: [文本处理] [已解决]批处理如何把中文字字符和英文字符互换位置? [打印本页]
作者: hzusb 时间: 2014-7-27 19:11 标题: [已解决]批处理如何把中文字字符和英文字符互换位置?
现状,文档中的格式:
汉字hanzi
汉字hanzi
汉字hanzi
汉字hanzi
我需要格式
hanzi 汉字
hanzi 汉字
hanzi 汉字
hanzi 汉字
说明
“汉字”部分是中文字(字数不等),“hanzi”部分是英文字(字数不等),我需把它们换个顺序,并且中间有个空格,由于量太大,特来求助大神给个方法,谢谢!
作者: CrLf 时间: 2014-7-27 20:02
本帖最后由 CrLf 于 2014-7-27 20:27 编辑
最合适的莫过于 sed:- @sed -r "s/([^a-z]*)([a-z]*)/\2 \1/i" a.txt >b.txt
复制代码
作者: hzusb 时间: 2014-7-27 20:23
回复 2# CrLf
输出文件是空的?sed是4.x的,也换过版本
作者: CrLf 时间: 2014-7-27 20:25
来个纯批- @echo off&setlocal enabledelayedexpansion
- (for /f "delims=" %%a in (a.txt) do (
- set "str=%%a"
- for /f "delims=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" %%b in ("%%a") do echo !str:%%b=! %%b
- ))>b.txt
- pause
复制代码
作者: CrLf 时间: 2014-7-27 20:27
回复 3# hzusb
忘加 -r,已修改
作者: hzusb 时间: 2014-7-27 21:04
回复 5# CrLf
羡慕你们,都是高手。解决我的问题了!
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |