当前位置:首页 » 操作系统 » linuxforgrep

linuxforgrep

发布时间: 2025-01-25 12:19:40

linux:关于脚本for循环的执行顺序

执行一次,for in 后边的`` 或 $() 会产生一个list。然后依次读取。

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

任意一个字节 . 与重复字节 *
这两个符号在正则表达式的意义如下:
. (小数点):代表‘一定有一个任意字节’的意思;
* (星号):代表‘重复前一个字符, 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 表示任意字符是很常见的.

热点内容
缺少加密锁 发布:2025-03-05 07:13:14 浏览:932
传奇永恒挂机脚本 发布:2025-03-05 06:56:27 浏览:6
androidapp签名 发布:2025-03-05 06:55:03 浏览:982
迈腾汽车互联怎么安装安卓app 发布:2025-03-05 06:54:56 浏览:195
收录报纸的数据库是 发布:2025-03-05 06:46:30 浏览:418
ftp上传不了 发布:2025-03-05 06:35:45 浏览:345
服务器硬盘怎么装台式电脑上 发布:2025-03-05 06:27:34 浏览:711
什么安卓模拟器可以截图扫码 发布:2025-03-05 06:05:04 浏览:715
源网络硬盘源码 发布:2025-03-05 05:56:16 浏览:984
拉力竞速安卓用什么手柄 发布:2025-03-05 05:37:13 浏览:898