作者:nanhezzb | 时间:2009-04-20 06:33 | 标题:请教sed按分隔符输出文本
2403:2376746:24053:351237:510282:6513297036:2376706246:12180000372:877000562184:12001108125
类似这样文本,SED怎么输出效果为:
2043
2376746
24053
……
87000561284
12001108125
??
请教sed按分隔符输出文本,类似for的delims=:效果!
谢谢了~~
作者:26933062 | 时间:2009-04-20 08:40
@echo off
set str=2403:2376746:24053:351237:510282:6513297036:2376706246:12180000372:877000562184:12001108125
echo %str%|sed "s/:/\n/g"
pause
作者:nanhezzb | 时间:2009-04-20 22:34
输出到文本怎么就没换行了?
作者:sady2009 | 时间:2009-04-20 22:50
假设文本是a.txt 输出是b.txt
@echo off
for /f "delims=" %%i in (a.txt) do (
set aa=%%i&set aa=%aa::= %
for %%a in (%aa%) do echo %%a>>b.txt
)
作者:yishanju | 时间:2009-04-20 23:04
Originally posted by nanhezzb at 2009-4-20 22:34:
输出到文本怎么就没换行了?
试试:
@echo off
set str=2403:2376746:24053:351237:510282:6513297036:2376706246:12180000372:877000562184:12001108125
echo %str%|sed "s/:/\r\n/g"
pause
[
Last edited by yishanju on 2009-4-20 at 23:27 ]
作者:freeants001 | 时间:2009-04-20 23:16
二楼用的*nix的换行方式,改成windows的就可以了~
@echo off
set str=2403:2376746:24053:351237:510282:6513297036:2376706246:12180000372:877000562184:12001108125
echo %str%|sed "s/:/\r\n/g"
pause
作者:HAT | 时间:2009-04-20 23:17 | 标题:Re 3楼
可能是你的sed版本太低了
作者:sady2009 | 时间:2009-04-20 23:30
我的sed 4.07版,2楼的代码能分行
作者:nanhezzb | 时间:2009-04-21 08:16
我的是4.0.7版本哦。
作者:HAT | 时间:2009-04-21 09:13
换成4.1.4吧
作者:yishanju | 时间:2009-04-21 12:31
来一个FR 版的
echo 2403:2376746:24053:351237:510282:6513297036:2376706246:12180000372:877000562184:12001108125|fr -ric:":" -t:"\r\n"