标题: [问题求助] [已解决]文件不分行sed如何取出8-9位的数字字符串? [打印本页]
作者: hansom 时间: 2011-10-13 15:57 标题: [已解决]文件不分行sed如何取出8-9位的数字字符串?
本帖最后由 hansom 于 2011-10-18 13:56 编辑
57047&tpl=w&username=2940253&tpl=w&navftype
57047&tpl=w&username=27949941&tpl=w&navftype
57047&tpl=w&username=2340243&tpl=w&navftype
57047&tpl=w&username=27934233&tpl=w&navftype
上面是1.txt中的代码示例,为方便看我把代码分行了,实际中的是不分行的。
如何取出usermane=后面的8-9位数字?
这样行不?
sed -n /*username=\(.*\)&tpl*/\ 1.txt
好像测试通不过。
作者: hansom 时间: 2011-10-13 16:51
用for的话,文件不分行好像也不好处理。
for /f "tokens=2 delims==" %%i in (1.txt) do (echo %%i >>temp1.txt)
作者: sxw 时间: 2011-10-13 17:32
1.txt贴出来?
作者: hfg1977 时间: 2011-10-13 19:07
- 分行:
- sed "s/.*username=\([0-9]\+\).*/\1/" 01.txt
- 分行或不分行:
- type 01.txt|sed "y/;&/\n\n/"|sed -n "/username=/ s/.*username=\([0-9]\+\).*/\1/p"
复制代码
作者: awk 时间: 2011-10-13 20:55
- gawk -F"[=&;]" "{for(i=1;i<=NF;i++)if($i==\"username\"){j=i+1;print $j}}" a.txt
复制代码
作者: hansom 时间: 2011-10-13 21:58
回复 5# awk
谢谢awk!,你的gawk把我要全部取出了
G:\vbs>gawk -F"[=&;]" "{for(i=1;i<=NF;i++)if($i==\"username\"){j=i+1;print $j}}"
temp.txt
1005203
2442689
2794991
2940253
4121341
15250977
16381849
18502445
23028594
23520785
G:\vbs>pause
请按任意键继续. . .
作者: hansom 时间: 2011-10-13 22:01
回复 4# hfg1977
多谢指点·
你的不分行的代码我运行后却只取出了一个我要的。
G:\vbs>type temp.txt | sed "y/;&/\n\n/" | sed -n "/username=/ s/.*username=\([
0-9]\+\).*/\1/p"
23520785
G:\vbs>pause
请按任意键继续. . .
作者: awk 时间: 2011-10-13 23:17
回复 4# hfg1977 - sed "y/;&/\n\n/" a.txt | sed -n "/username=/ s/username=//p"
复制代码
作者: awk 时间: 2011-10-13 23:17
回复 7# hansom
可能是你的sed版块问题,我这里测试一切正常。
作者: hansom 时间: 2011-11-3 17:41
地址变动一下就出不出了:&username=38784392">
作者: hansom 时间: 2011-11-3 17:45
回复 9# awk
我的sed 是4.0.7的
作者: awk 时间: 2011-11-3 21:43
回复 11# hansom
试试4.2.1
作者: awk 时间: 2011-11-3 21:50
回复 10# hansom
需求变了,代码当然要跟着变。
作者: hansom 时间: 2011-11-3 23:12
呵呵,gawk -help,看得好累啊。。有点没辙了。。。
作者: hansom 时间: 2011-11-3 23:20
回复 13# awk
请教前辈代码应如何改下?
作者: hansom 时间: 2011-11-3 23:23
1648507"></a><br/>2
2673694"></a><br/>3
为什么把后面的取出来了,而前面是正确的呢?
哪位朋友能提供下gawk的chm的帮助文档?
作者: awk 时间: 2011-11-4 08:09
回复 16# hansom
Batcher置顶的帖子里面有pdf文档
作者: awk 时间: 2011-11-4 08:16
回复 15# hansom - gawk -F"[\x22=&;]" "{for(i=1;i<=NF;i++)if($i==\"username\"){j=i+1;print $j}}" a.txt
复制代码
作者: happy886rr 时间: 2016-4-2 19:24
- sed "s/username=/\r\n&/g" 1.txt|sed "s/username=\([0-9]*\).*/\1/g"|more +1
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |