例如,我有一个包含数据的文件:
[2023-03-21 12:27:19 +0000] some_data
[2023-03-21 12:27:19 +0000] some_data
[2023-03-22 12:27:19 +0000] some_data
[2023-03-23 12:27:19 +0000] some_data
[2023-03-23 12:27:19 +0000] some_data
[2023-03-25 12:27:19 +0000] some_data
[2023-03-26 12:27:19 +0000] some_data
[2023-03-29 12:27:19 +0000] some_data
[2023-03-29 12:27:19 +0000] some_data
[2023-03-29 12:27:19 +0000] some_data
[2023-03-29 12:27:19 +0000] some_data我想要grep所有的行,包括从2023-03-22到2023-03-26之间的值。
所以,我想把它的台词
[2023-03-22 12:27:19 +0000] some_data
[2023-03-23 12:27:19 +0000] some_data
[2023-03-23 12:27:19 +0000] some_data
[2023-03-25 12:27:19 +0000] some_data
[2023-03-26 12:27:19 +0000] some_data另一个案例是:
我有一个有数据的文件
[2023-03-21 00:45:20 +0000] some_data
[2023-03-21 01:10:11 +0000] some_data
[2023-03-21 02:04:56 +0000] some_data
[2023-03-21 12:09:15 +0000] some_data
...
...
in this part the lines with the next data with some_data
...
...
[2023-03-23 21:40:19 +0000] some_data
[2023-03-23 22:15:11 +0000] some_data
[2023-03-23 23:40:06 +0000] some_data如何从2023-03-21 01:10:11 +0000 some_data到2023-03-23 22:15:11 +0000 some_data的grep行?
也许我可以用标志-n实现grep?我得到2023-03-21 01:10:11 +0000的字符串数,然后是带标志-n的grep值2023-03-23 22:15:11 +0000。它的命令返回这些行的行号。
如果我知道有多少行,我怎么能从一条线到一条又一条线得到大量的数据?
发布于 2023-03-30 15:39:26
要做到这一点,一个简单的方法是将需要在该位置的字符指定为“括号表达式”的成员:
grep '2023-03-2[23456]' file_name当您在排序/排序方案中寻找一组连续字符时(与日期一样),您可以在括号表达式中使用一个范围:
grep '2023-03-2[2-6]' file_name可以使用更复杂的方法来匹配行的内容,但是您的问题由一个很好的、简单的括号表达式来处理。
发布于 2023-03-30 17:04:21
我创建了一个答案:如果我想从文件打印大量数据--从值到值,那么在本例中可以使用sed命令:
sed -n '/\[2023-03-21 01:10:11/,/\[2023-03-23 22:15:11/p' file_name我忘了sed是字符串数据的流编辑器。
https://unix.stackexchange.com/questions/741467
复制相似问题