linux命令里,grep * 是什么意思?

发布于2022-05-08 14:56:05

就是grep后面只加一个*符号比如:某命令 |grep *我知道grep本身是什么意思,这个不用过多解释

5个回答
admin
网友回答2022-05-08
任意一个字节 . 与重复字节 * 这两个符号在正则表达式的意义如下: . (小数点):代表『一定有一个任意字节』的意思; * (星号):代表『重复前一个字符, 0 到无穷多次』的意思,为组合形态 假设我需要找出 g??d 的字串,亦即共有四个字节, 起头是 g 而结束是 d ,我可以这样做: [root@www ~]# grep -n 'g..d' regular_express.txt 1:"Open Source" is a good mechanism to develop programs. 9:Oh! The soup taste good. 16:The world <Happy> is the same with "glad". 因为强调 g 与 d 之间一定要存在两个字节,因此,第 13 行的 god 与第 14 行的 gd 就不会被列出来啦! 如果我想要列出有 oo, ooo, oooo 等等的数据, 也就是说,至少要有两个(含) o 以上,该如何是好? 因为 * 代表的是『重复 0 个或多个前面的 RE 字符』的意义, 因此,『o*』代表的是:『拥有空字节或一个 o 以上的字节』,因此,『 grep -n 'o*' regular_express.txt 』将会把所有的数据都列印出来终端上! 当我们需要『至少两个 o 以上的字串』时,就需要 ooo* ,亦即是: [root@www ~]# grep -n 'ooo*' regular_express.txt 1:"Open Source" is a good mechanism to develop programs. 2:apple is my favorite food. 3:Football game is not use feet only. 9:Oh! The soup taste good. 18:google is the best tools for search keyword. 19:goooooogle yes! 如果我想要字串开头与结尾都是 g,但是两个 g 之间仅能存在至少一个 o ,亦即是 gog, goog, gooog.... 等等,那该如何? [root@www ~]# grep -n 'goo*g' regular_express.txt 18:google is the best tools for search keyword. 19:goooooogle yes! 如果我想要找出 g 开头与 g 结尾的行,当中的字符可有可无 [root@www ~]# grep -n 'g.*g' regular_express.txt 1:"Open Source" is a good mechanism to develop programs. 14:The gd software is a library for drafting programs. 18:google is the best tools for search keyword. 19:goooooogle yes! 20:go! go! Let's go. 因为是代表 g 开头与 g 结尾,中间任意字节均可接受,所以,第 1, 14, 20 行是可接受的喔! 这个 .* 的 RE 表示任意字符是很常见的.
admin
网友回答2022-05-08
前面的 | 是管道命令,把上一个命令的结果交给 | 后面的命令处理。 grep是在文本中查询内容。
admin
网友回答2022-05-08
估计是写错了
admin
网友回答2022-05-08
ls -f的意思是把文件按照类型归类,并且在末尾加上/ *等符号标识 | 连接符的意思是把前面命令的结果当做输入传给后面的命令 grep /$的意思是从中挑出以/结尾的行 ps:/标识是目录
admin
网友回答2022-05-08
*代表全部内容

回到
顶部