![Board logo](images/default/logo.gif)
标题: [文本处理] 批处理怎样变换字符串的格式? [打印本页]
作者: tomshi79 时间: 2010-7-5 17:36 标题: 批处理怎样变换字符串的格式?
请教大家怎样将
000000000003704376 R32 4
000000000003704376 R34 8
000000000003704376 R35 1
000000000003704376 R36 6
000000000003704376 R38 1
000000000003525004 XL 2
000000000003551929 L 2
000000000003525006 S 1
000000000003525006 M 5
000000000003551927 M 7
000000000003704376 R33 2
000000000003525006 L 4
变为
S3704376R32 4
S3704376R34 8
S3704376R35 1
这样的格式?
作者: canyuexiaolang 时间: 2010-7-5 17:44
要转换的字符串在1.txt里
转换后的结果在2.txt里- @echo off
- setlocal enabledelayedexpansion
- for /F "tokens=1,3" %%i in (1.txt) do (
- set a=%%i
- echo S!a:~11,13! %%j>>2.txt
- )
复制代码
作者: CUer 时间: 2010-7-5 19:45
- sed "s/^0\+/S/;s/\([0-9]\+\) /\1/" 1.txt >2.txt
复制代码
作者: canyuexiaolang 时间: 2010-7-5 20:00 标题: 回复 3楼 的帖子
哇、sed貌似我家电脑里没有啊
还是第三方软件?
还是Win2003没有?
作者: sgaizxt001 时间: 2010-7-5 21:13
000000000003525004 XL 2
000000000003551929 L 2
000000000003525006 S 1
000000000003525006 M 5
000000000003551927 M 7
000000000003525006 L 4
这些都不要吗?
作者: tomshi79 时间: 2010-7-5 21:28
感谢大家,但是我希望的是S3525004N 1这样格式的,现在变成S3525004 1这样了,请问怎样改?
作者: tomshi79 时间: 2010-7-5 21:30
后面都要的
作者: Batcher 时间: 2010-7-5 21:38 标题: 回复 4楼 的帖子
去下载一个吧:
http://bbs.bathome.net/thread-3981-1-1.html
作者: sgaizxt001 时间: 2010-7-5 22:29
非常糊涂。你看看这个代码是不是你想要的,如果是的话你把echo !str!变成echo !str! >>b.txt- @echo off
- setlocal enabledelayedexpansion
- for /f "tokens=1,2,3 delims= " %%a in (a.txt) do (
- set "str=S%%a%%b %%c"
- set str=!str:00000000000=!
- echo !str!
- )
- pause
复制代码
作者: pdanniel66 时间: 2010-7-6 06:48
For your reference as below.
@echo off
setlocal enabledelayedexpansion
for /F "tokens=1,2,3" %%i in (1.txt) do (
set a=%%i
echo S!a:~11,7!%%j %%k >>2.txt
)
Result as below:
S3704376R32 4
S3704376R34 8
S3704376R35 1
S3704376R36 6
S3704376R38 1
S3525004XL 2
S3551929L 2
S3525006S 1
S3525006M 5
S3551927M 7
S3704376R33 2
S3525006L 4
作者: tomshi79 时间: 2010-7-6 11:48
谢谢大家,帮助不小啊
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |