grep学习笔记

grep
        grep一般格式为:

grep [选项]基本正则表达式[文件]

基本正则表达式可为字符串。

grep常用选项:
        -c    # 只输出匹配行的计数

-i    # 不区分大小写

-h    # 查询多文件时不显示文件名

-l    # 查询多文件时只输出包含匹配字符的文件名

-n    # 显示匹配行及行号

-s    # 不显示不存在或无匹配文本的错误信息

-v    # 反向查找

-e    # 使用正则表达式

-w    # 精确匹配

-o    # 查询所有匹配字段
        -P    # 使用perl正则表达式
        -A3   # 打印匹配行和下三行
        -B3   # 打印匹配行和上三行
        -C3   # 打印匹配行和上下三行

grep使用例子:

cat test.txt

48      Dec  3BC1997    LPSX  68.00 LVX2A 138
        483     Sept 5AP1996    USP   65.00 LVX2C 189
        47      Oct  3ZL1998    LPSX  43.00 KVM9D 512
        219     dec  2CC1999    CAD   23.00 PLV2C 68
        484     nov  7PL1996    CAD   49.00 PLV2C 234
        483     may  5PA1998    USP   37.00 KVM9D 644
        216     sept 3ZL1998    USP   86.00 KVM9E 234

grep -v "a" txt                               # 过滤关键字符行
        grep -w ‘a\>‘ txt                            # 精确匹配字符串
        grep -i "a" txt                                # 大小写敏感
        grep  "a[bB]" txt                            # 同时匹配大小写
        grep ‘[0-9]\{3\}‘ txt                        # 查找0-9重复三次的所在行
        grep -E "word1|word2|word3"   file                  # 任意条件匹配
        grep word1 file | grep word2 |grep word3        # 同时匹配三个

匹配IP地址:

ifconfig |grep ‘[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}‘

英文字符精确匹配:

grep  -w "48"   test.txt    #-w 匹配单词48
    grep  "\<48\>"  test.txt    #符号\< 和 \> 分别匹配字符串的开头和结尾

中文精确匹配:

cat test.txt
---------------------------------
首席大人
豪门:首席大人
豪门:首席大人(上)
豪门:首席大人(中)
豪门:首席大人(下)
---------------------------------

1、精确匹配:豪门:首席大人
grep  "豪门:首席大人$" test.txt

$匹配行尾

2、精确匹配:首席大人

grep  "^首席大人$" test.txt

^匹配行首,$匹配行尾

grep用于if判断

if echo abc | grep "a"  > /dev/null 2>&1
            then
                echo "abc"
            else
                echo "null"
            fi

时间: 2024-10-08 07:06:43

grep学习笔记的相关文章

grep 学习笔记

grep是UNIX和LINUX中使用最广泛的命令之一grep允许对文本文件进行模式查找.如果找到匹配模式,grep打印包含模式的所有行.grep支持基本正则表达式,也支持其扩展集. 测试文件datafile,如下 1.grep一般格式为:grep[选项]基本正则表达式[文件]这里基本正则表达式可为字符串. 2.在grep命令中输入字符串参数时,最好将其用双引号括起来.一是以防被误解为shell命令二是可以用来查找多个单词组成的字符串在调用变量时,也应该使用双引号 3.grep常用选项常用的gre

awk学习笔记【转】

Awk学习笔记 整理:Jims of 肥肥世家 <[email protected]> Copyright © 2004 本文遵从GPL协议,欢迎转载.修改.散布. 第一次发布时间:2004年8月6日 Table of Contents 1. awk简介 2. awk命令格式和选项 2.1. awk的语法有两种形式 2.2. 命令选项 3. 模式和操作 3.1. 模式 3.2. 操作 4. awk的环境变量 5. awk运算符 6. 记录和域 6.1. 记录 6.2. 域 6.3. 域分隔符

LVS的持久连接和awk/sed/grep的学习笔记

一.LVS持久连接的模式 1.PPC(persistent port connection) ipvsadm -A|E 192.168.10.1:80 -p 600 定义VIP为192.168.10.1director的80端口为持久连接,也就是只把web服务加入集群服务,可以通过改变端口实现不同服务的持久连接且把不同服务加入集群服务 2.PCC(persistent client connection) ipvsadm -A|E 192.168.10.1:0 -p 600 定义VIP为192.

51CTO学习笔记--Linux运维故障排查思路与系统调优技巧视频课程(高俊峰)

51CTO学习笔记--Linux运维故障排查思路与系统调优技巧视频课程 第一课 Linux运维经验分享与思路 1.一般把主机名,写到hosts下    127.0.0.1    hostname,因为很多应用要解析到本地.oracle没有这个解析可能启动不了. 2.注释掉UUID以及MAC地址,需要绑定网卡的时候,这个可能会有影响. 3.磁盘满了无法启动,  var下木有空间,无法创创建PID等文件,导致文件无法启动,按e   进入single  然后b  重启进入单用户模式. 4.ssh登陆系

基于CentOS7上的搭建javaweb环境 - 学习笔记

一, 概述 上一篇记录了安装CentOS7的基本步骤及配置,现在要讲如何搭建基于CentOS7环境的javaweb环境了,我以 mysql + jdk1.8.0_91 + apache tomcat7.0.69 为例进行讲述. 二, 安装步骤 1, 首先在CentOS7下在线安装mysql数据库服务 (1)先查看是否已安装了mysql rpm -qa | grep mysql (2)若安装了,可以卸载,再重新安装 yum -y remove mysqlxxxxx (3)安装 yum -y ins

Linux shell脚本-基础学习笔记

Linux脚本能力不是太强,最近再补习下,毕竟linux shell在日常工作中还是很普遍的, 用起来更方便.省时省力. 以下是学习笔记,偏理论,后面有几个例子,供参考. shell脚本组成元素系统命令.文本处理工具(grep\sed等).变量.条件判断.循环结构和函数 -------------------------------------------- 三剑客:grep,sed,awk,还有wc,sort,head等 ------------------------------------

Linux学习笔记四:Linux的文件搜索命令

1.文件搜索命令  which 语法:which [命令名称] 范例:$which ls  列出ls命令所在目录 [[email protected] ~]$ which ls alias ls='ls --color=auto' /bin/ls 另外一个命令:whereis [名称名称],也可以列出命令所在目录. [[email protected] ~]$ whereis ls ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/ma

Oracle Rac11g 学习笔记

查看集群节点状态 命令是olsnodes -i 显示每个节点的VIP, -n 显示每个节点在RAC集群中的编号 -p 显示每个节点所使用的私有IP地址 -s 显示每个节点的状态(activive或者inactive) 列车集群中所有资源 crs_stat -t 查看crs资源状态 crsctl check crs 查看ctss服务的状态 crsctl check ctss 查看集群中所有节点状态 crsctl check cluster -all 查看ASM实例进程 ps -ef | grep

LVS学习笔记--DR模式部署

一.部署环境: 服务器版本:CentOS6.5(Finnal) 网络拓扑: 二.需求分析:调度服务器与网页服务器均在同一网段局域网环境,用户提交的请求会经过调度器的分配指定到网页服务器,同时保证服务高可用性(任意一台网站服务器宕机后调度器会剔除它直至服务器恢复至正常:主调度器宕机后从调度器会接管它直至其恢复正常.). 三.相关配置: 部署调度器LVS服务脚本: #!/bin/sh mkdir tools cd tools/ # yum install lrzsz # rz # ls wget h