标题: 请教sed按分隔符输出文本
[打印本页]
作者: nanhezzb
时间: 2009-4-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-4-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-4-20 22:34
输出到文本怎么就没换行了?
作者: sady2009
时间: 2009-4-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-4-20 23:04
Quote: |
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-4-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-4-20 23:17
标题: Re 3楼
可能是你的sed版本太低了
作者: sady2009
时间: 2009-4-20 23:30
我的sed 4.07版,2楼的代码能分行
作者: nanhezzb
时间: 2009-4-21 08:16
我的是4.0.7版本哦。
作者: HAT
时间: 2009-4-21 09:13
换成4.1.4吧
作者: yishanju
时间: 2009-4-21 12:31
来一个FR 版的
echo 2403:2376746:24053:351237:510282:6513297036:2376706246:12180000372:877000562184:12001108125|fr -ric:":" -t:"\r\n"