Linux里面grep作用是什么?
grep用于查找字符串,-o是只打印匹配到的字符
任意一个字节 . 与重复字节 *
这两个符号在正则表达式的意义如下:
. (小数点):代表『一定有一个任意字节』的意思;
* (星号):代表『重复前一个字符, 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 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 表示任意字符是很常见的.
grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为-,则grep指令会从标准输入设备读取数据。
语法
grep
[-abcEFGhHilLnqrsvVwxy][-A<显示行数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]
参数
-a或--text:不要忽略二进制的数据。
-A<显示行数>或--after-context=<显示行数>:除了显示符合范本样式的那一列之外,并显示该行之后的内容。
-b或--byte-offset:在显示符合样式的那一行之前,标示出该行第一个字符的编号。
-B<显示行数>或--before-context=<显示行数>:除了显示符合样式的那一行之外,并显示该行之前的内容。
-c或--count:计算符合样式的列数。
-C<显示行数>或--context=<显示行数>或-<显示行数>:除了显示符合样式的那一行之外,并显示该行之前后的内容。
-d<动作>或--directories=<动作>:当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。
-e<范本样式>或--regexp=<范本样式>:指定字符串做为查找文件内容的样式。
-E或--extended-regexp:将样式为延伸的正则表达式来使用。
-f<规则文件>或--file=<规则文件>:指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。
-F或--fixed-regexp:将样式视为固定字符串的列表。
-G或--basic-regexp:将样式视为普通的表示法来使用。
-h或--no-filename:在显示符合样式的那一行之前,不标示该行所属的文件名称。
-H或--with-filename:在显示符合样式的那一行之前,表示该行所属的文件名称。
………………
参数较多,就不为大家一一讲解了!
grep是Linux中很常用的命令,用于查找文件中符合条件的字符串,如果查到,会把文件的那一列显示出来。
支持通配符,支持正则表达式,功能强大。
linux 怎样查看是否开启gre
(1) lsmod|grep ip_gre 查看是否加载了gre的内核模块, 如有, 说明系统可以支持gre.(2) ip a s 查看是否有gre0以外的gre设备, 如果有, 说明配置了相应的gre设备.
如何在Linux环境创建GRE Tunnel
创建一个GRE类型隧道设备gre0, 并设置对端IP为111.2.33.28。隧道数据包将被从121.207.22.123也就是本地IP地址发起,其TTL字段被设置为255。隧道设备分配的IP地址为10.10.10.1,掩码为255.255.255.0。在host B上面:ip tunnel add gre1 mode gre remote 121.207.22.123 local 111.2.33...
linux禁止访问外网让linux不能访问外网
1)建立tunnel口及相关配置intertunnel0tunnelsourcee1\/0(指定公网的外出接口作为隧道源地址)tunnelmodegremultipoint(指定隧道的类型为多点GRE)linux双网卡上内外网设置(树莓派)?共享internet连接,在设备上启用nat即可:echo1>\/proc\/sys\/net\/ipv4\/ip_forward\/\/启用ipv4数据包转发 iptables-tnat-IPOSTR...
为什么linux上gre的接口MTU值为1472?
这个值好像是不一样的吧,我的centos6.5 安装pptpd MTU是1396.我印象中的MTU值的问题会导致网络异常报错的问题,就是可以ping网站,不能打开网站。出现问题改为1500 --ok。在网上我也看到有人说可以修改MTU为1356 在pptpd上面,(mtu-20字节的IP头部-20字节的TCP 头部=)1356,ppp最大是1396.这些...
两台Linux系统,搭建GRE隧道,隧道IP互ping不通,求助
LinuxIP或者掩码配置错误,IP和网关必须是同一个网段Linux没有连通网络(线没插好或者无线没连上)自己排查吧
请教linux iptables 中自带的gre alg;ftp alg;h323 alg;sip alg 如何...
最简单的方法是你可以直接关闭iptable这个service
如何配置 Linux ipv6 6RD隧道
据我所知,Linux的IP-in-IP隧道不能与其他操作系统或路由器互相通讯。它很简单,也很有效。需要它的时候尽管使用,否则就使用GRE。GRE 需要内核模块 ip_gre.ko GRE是最初由CISCO开发出来的隧道协议,能够做一些IP-in-IP隧道做不到的事情。比如,你可以使用GRE隧道传输多播数据包和IPv6数据包。还有...
在linux上已经portgresql数据库怎么操作
第一:最简单的办法是使用phpmyadmin。第二:通过该软件,在liunux下,导出所需的数据库,生成一个sql格式的文件。第三:同样是使用该软件,在windows下,做一个导入操作,将保存的sql格式文件导入进来,就可以了。
linux用户加入组命令linux用户加入组
linux系统怎么添加新用户?1、打开xshell软件,远程访问您的服务器或虚拟机。2、Linux添加用户名的命令是:Suduseraded。3、输入用户文件夹,查看是否已经有一个包含您用户名的文件夹,如果有,说明已经成功添加。4、为新用户添加密码。5、新密码已在此成功设置,您可以切换新用户作为操作员。6、输入su...
OpenStack Neutron网络里使用VLAN,VXLAN和GRE要注意什么
二是GRE广播,且遂道将虚拟二层打通了,广播风暴更厉害。但对于虚机来说,因为虚拟交换机是完全能够知道虚机的IP和MAC地址的映射关系的,根本不需要通过ARP广播来根据IP找MAC地址,目前Neutron中有这类似的blueprint可以禁止广播。所以个人比较看好STT技术,因为目前openvswitch与linux kernel还未实现STT,所以...
本殷降脂: 这个命令全程global regular print是通过正则表达式打印出匹配的字符串或者文件行.
马山县13477566823: Linux下Grep命令的详细使用方法? - ?
本殷降脂: 在linux中grep命令是非常有用的,它和管道(|)配合使用,非常强大,用于搜索文本文件.如果想要在几个文本文件中查找一字符串,可以使用'grep'命令.'grep'在文本中搜索指定的字符串. 假设您正在'/usr/src/linux/Documentation'目...
马山县13477566823: linux grep是什么? - ?
本殷降脂: Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户.
马山县13477566823: linux命令里,grep * 是什么意思? - ?
本殷降脂: 任意一个字节 . 与重复字节 * 这两个符号在正则表达式的意义如下: . (小数点):代表『一定有一个任意字节』的意思; * (星号):代表『重复前一个字符, 0 到无穷多次』的意思,为组合形态假设我需要找出 g??d 的字串,亦即共有四个...
马山县13477566823: linux 操作系统下 写出一条grep命令,作用是在文件中查找满足下列条件的行:以大写字母开头,以小写字母结?
本殷降脂: [lotto@ftptest2 ~]$ cat text Asdfsdf sdfsdf sdfsdfB sdfsdf BsdfsdfA sdfsdf [lotto@ftptest2 ~]$ grep ^[A-Z].*.[a-z]$ text Asdfsdf
马山县13477566823: linux的grep查询命令 - ?
本殷降脂: grep默认只能识别基本的正则表达式,如果需要高级的,需要这样:grep -E 'A.*B|B.*A' filename 可以找到符合要求的,或者使用awk:awk '/A/&&/B/' filename
马山县13477566823: 在linux里面ps - ef | grep tomcat 什么意思 - ?
本殷降脂: ps -ef的意思是以长格式显示所有进程,“|”是管道,意思是前面ps的输出做为后面的输入,然后grep tomcat是在所有进程里查找与字符tomcat有关的进程,并显示出来.ps命令就是最根本相应情况下也是相当强大地进程查看命令 ps[选项]-e显...
马山县13477566823: linux中grep和find的区别 - ?
本殷降脂: 这是两个不同的命令,关于grep:Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户....
马山县13477566823: grep的用法 - ?
本殷降脂: grep是linux下用于搜索输出内容中所含内容的一个命令.1.例如我要搜索名为aaa.txt中的一串字符"bbb",可以用 cat aaa.txt|grep bbb2.我要搜索当前目录含有bb的文件,可以用 ls |grep bb
马山县13477566823: linux中的grep怎么用~? - ?
本殷降脂: grep abc /Desktop/AA 功能就是在桌面AA文档中查找abc的文本 如果有则将包含有AA的行全部显示 AA这一文档必须为文本类型的,下面是参照, grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样...