例如,我的时间范围如下:
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Run Code Online (Sandbox Code Playgroud)
而我想要的只是使用grep -E'[1-2] [??]来获取13到20之间的数字是否可能?
请不要给出关于awk的答案我不是在问它非常感谢你
|表示正则表达式中的交替。您可以将其视为合乎逻辑的or. 因此:
1[3-9]|20
Run Code Online (Sandbox Code Playgroud)
方法
1 后跟 3、4、5、6、7、8 或 9,或2 后跟 0
这将匹配指定的任何数字(13、14、15、16、17、18、19 或 20)。
以上可能1[1-9]|2[0-6]是:
1 后跟 1 到 9或2 后跟 0 到 6
正如波西米亚人所表明的那样。的^和$零个宽度断言锚均值和“字符串的结束”分别“字符串的开始”。它们的确切含义可能因正则表达式风格而异,但在egrep和其他基于行的正则表达式风格中,这就是它们的意思。如果行中有其他字符的可能性,您会想要使用这些
a13b
&20-
Run Code Online (Sandbox Code Playgroud)
如果您知道该数字将是该特定行上的全部内容,则它们并不是绝对必要的。