Chinaunix
标题:
sed的地址匹配
[打印本页]
作者:
mwl940602
时间:
2017-08-17 00:46
标题:
sed的地址匹配
本帖最后由 mwl940602 于 2017-08-17 09:31 编辑
n,m匹配的是从第n行到m行,n,~m匹配的是n到第一个行号是m倍数之间的行,但是我测试的时候发现两个的输出是一样的,不同之处到底在哪,或者说具体用在什么地方会有差别:
有如下文件:
[root@server shell]# cat a.txt
1
2
3
...
100
-------------------------------------------------
[root@server shell]# sed -n '1,5p' a.txt
1
2
3
4
5
-------------------------------------------------
[root@server shell]# sed -n '1,~5p' a.txt
1
2
3
4
5
-------------------------------------------------
我查资料弄清楚了,谢谢各位了:
n,m:
n<m时,匹配n到m行
n>m时,只匹配第n行
n,~m:
n>m时,匹配从n开始,到下一行是m的倍数的行
例:
$ seq 10 |sed '5,~3p'
5
6
n<m,匹配从n到m的行
$ seq 10 | sed '3,~5p'
3
4
5
作者:
jason680
时间:
2017-08-17 00:57
回复
1#
mwl940602
$ seq 20 | sed -n '2
~
5p'
2
7
12
17
#Note: 2, 2+5*1, 2+5*2, ..., 2+5*
N
$ seq 20 | sed -n '2
~
4p'
2
6
10
14
18
#Note 2, 2+4, 2+4*2, 2+4*3, ..., 2+4*
N
作者:
mwl940602
时间:
2017-08-17 01:03
jason680 发表于 2017-08-17 00:57
回复 1# mwl940602
您好,我问得是"n,~m"和"n,m"的区别
作者:
jason680
时间:
2017-08-17 10:53
回复
3#
mwl940602
>> ...我问得是"n,~m"和"n,m"的区别
按你问的来回帖
结果无区别...
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2