[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
参考:
http://bbs.chinaunix.net/thread-1689518-8-1.html#pid12064955

Row Number/at//is/Range Operator备注
1TRUE TRUEOnce the left operand is true,  the range operator stays true
2 FALSETRUE 
3 TRUETRUEuntil the right operand is true,  after which the range operator becomes false again
4FALSE FALSE 
5TRUE TRUEOnce the left operand is true,  the range operator stays true
6 TRUETRUEuntil the  right operand is true, after which the range operator becomes false again
7TRUE TRUEOnce the left operand is true,  the range operator stays true
8 FALSETRUE只要无法匹配到/is/,不管后面有多少行都会输出
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2# ai20110304


    第四行后面还有满足的
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 5# 踏沙行


第二种场景比较简单,以下两种写法都行:
  1. sed -n "/at\|is/p" 1.txt
复制代码
  1. sed -n -r "/(at|is)/p" 1.txt
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 8# 踏沙行
  1. sed -n "/at/{:a;N;/is/{/at.*\n.*is/p;d};ba}" 1.txt
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 10# 踏沙行


    多了哪几行?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 12# 踏沙行


这两个条件需要分别写成两个不同的命令?还是一条命令同时满足两个条件呢?
满足条件1的代码:
  1. sed -n "/at/{:a;N;/is/{/at.*\n.*is/p;q};ba}" 1.txt
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 14# 踏沙行


N, n, H, h, G, g, x
搞清楚 pattern space 和 hold space 这两个概念才能理解这些命令的具体作用。

b label, t label, P, D
sed里面没有if, for这种分支和循环语句,但是可以通过上面这几个命令实现流程控制。

《O’Reilly sed &  awk 2nd Edition》里面有每个命令具体的讲解和实例
http://bbs.bathome.net/thread-13203-1-1.html

如果每个命令的作用都搞懂了,但就是看不懂一些复杂的命令组合是什么意思,可以使用 sedsed 来观察一下命令执行过程中 pattern space 和 hold space 的变化就明白了:
http://bbs.bathome.net/thread-15582-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 16# 踏沙行


    那个是 sedsed 的源代码,不只是案例介绍。你试试从这个网址复制下来 http://aurelio.net/projects/sedsed/
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

sedsed 源码也已经上传到帖子里面了
http://bbs.bathome.net/thread-15582-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 19# 踏沙行


    试试 Python 2.x
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表