Board logo

标题: [文本处理] 批处理怎样变换字符串的格式? [打印本页]

作者: 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里
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /F "tokens=1,3" %%i in (1.txt) do (
  4. set a=%%i
  5. echo S!a:~11,13! %%j>>2.txt
  6. )
复制代码

作者: CUer    时间: 2010-7-5 19:45

  1. 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
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=1,2,3 delims= " %%a in (a.txt) do (
  4.   set "str=S%%a%%b %%c"
  5.   set str=!str:00000000000=!
  6.   echo !str!
  7. )
  8. 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