正确理解linux grep 的姿势

简单看题grep --help

问题:想匹配 ttt.sql中 词语为 “8376” 的内容

一般回答:

grep -in "8376"  ttt.sql

可是这样是想要的嘛?实际过滤出的数据,都不是想要的。只想要8376 这样的单词!!!

25444447:# at 88376417
25444448:#190510 16:11:53 server id 1003006  end_log_pos 88376535 CRC32 0x85c4d815      Table_map: `service`.`sys_customers` mapped to number 1926
25444449:# at 88376535
25444450:#190510 16:11:53 server id 1003006  end_log_pos 88376718 CRC32 0x1391a8e3      Write_rows: table id 1926 flags: STMT_END_F
25444483:# at 88376718
25444484:#190510 16:11:53 server id 1003006  end_log_pos 88376749 CRC32 0x1babef9c      Xid = 109754020
25444486:# at 88376749
25444487:#190510 16:11:56 server id 1003006  end_log_pos 88376814 CRC32 0xee785ac2      GTID    last_committed=62715    sequence_number=62716   rbr_only=yes
25444490:# at 88376814
25444491:#190510 16:11:53 server id 1003006  end_log_pos 88376885 CRC32 0x97334cd1      Query   thread_id=3764778       exec_time=0     error_code=0
25444495:# at 88376885
25444642:#190510 16:11:56 server id 1003006  end_log_pos 88378376 CRC32 0xffc55e01      Write_rows: table id 1848 flags: STMT_END_F
25444675:# at 88378376
25453684:#190510 16:13:07 server id 1003006  end_log_pos 88458376 CRC32 0x29debe49      Write_rows: table id 1768 flags: STMT_END_F

正确姿势:\b 匹配

[[email protected] tmp]# grep -in "\b8376\b"  ttt.sql
1271002:#190507 23:38:44 server id 1003006  end_log_pos 11187631 CRC32 0xb533e3c8       GTID    last_committed=8375     sequence_number=8376    rbr_only=yes
1271230:#190507 23:38:46 server id 1003006  end_log_pos 11189622 CRC32 0xeca6fdf4       GTID    last_committed=8376     sequence_number=8377    rbr_only=yes
9395311:###   @27=8376.00 /* DECIMAL(11,2) meta=2818 nullable=0 is_null=0 */
9395347:###   @27=8376.00 /* DECIMAL(11,2) meta=2818 nullable=0 is_null=0 */
9395383:###   @27=8376.00 /* DECIMAL(11,2) meta=2818 nullable=0 is_null=0 */
16269738:#190509 15:37:45 server id 1003006  end_log_pos 8048856 CRC32 0xb2970055       GTID    last_committed=8375     sequence_number=8376    rbr_only=yes
16269966:#190509 15:37:47 server id 1003006  end_log_pos 8050829 CRC32 0x99e4a78c       GTID    last_committed=8376     sequence_number=8377    rbr_only=yes

原文地址:https://www.cnblogs.com/monkeybron/p/10846430.html

时间: 2024-10-21 17:48:29

正确理解linux grep 的姿势的相关文章

为何我的LINUX服务器内存利用率很高?正确理解LINUX内存使用机制

今天有人告诉我说linux服务器上的内存快不够用了,128G的内存,马上要用光了.我吓了一跳,这台服务器上的应用现在负载很小啊,怎么利用率会很高呢.先用ZABBIX看了下,内存剩余空间还是很大的,还有117G的空余啊.然后又登陆到服务器上用再看下: [[email protected] ~]$ top top - 11:41:03 up 415 days, 1:06, 2 users, load average: 0.17, 0.12, 0.28 Tasks: 847 total, 1 runn

正确理解Linux运行级别

通过优锐课的java学习分享中,了解有关Linux运行级别的更多信息-正确的方法! 你可以将Linux运行级别视为操作系统运行的不同"模式".这些模式或运行级别中的每一个都有其自己的已打开或关闭的进程和服务的列表. 从Linux启动时开始,它始终处于某个运行级别. 随着你继续使用计算机,此运行级别可能会更改,具体取决于操作系统需要访问的服务类型. 例如,与仅在系统上运行命令行的情况相比,使用图形用户界面运行Linux机器将需要不同的运行级别. 这是因为图形用户界面将需要访问命令行所隐含

理解 Linux 的硬链接与软链接

理解 Linux 的硬链接与软链接 从 inode 了解 Linux 文件系统 硬链接与软链接是 Linux 文件系统中的一个重要概念,其涉及文件系统中的索引节点 (index node 又称  inode),而索引节点对象是 Linux 虚拟文件系统 (VFS) 的四个基本概念之一.通过剖析硬链接与软链接的联系与区别,我们可更好的了解  Linux 中 VFS 这一通用文件模型.并让 Linux 普通用户和系统管理员正确使用硬链接与软链接,帮助文件系统开发者获取 inode  的相关知识. 1

如何理解linux的inode

看了很多关于inode的资料,理解inode对于理解linux文件系统非常重要,并对于理解软硬链接及文件存储方式很有帮助,我结合了网上的资料及我自己学到的知识,总结了inode的一些基本知识,作为学习的笔记. 文件系统 ??磁盘存储文件一盘是以扇区为单位,每个扇区为512字节,操作系统读取硬盘时不是一个一扇区读取,而是一次读取多个扇区,多个扇区划分成一个"块"(block),linux以块为单位存储数据,一般块的大小为4KB, 也就是8个扇区组成一个块.??文件数据都存在块中,那么关于

理解Linux中的load Averges

一.什么是load average? linux系统中的Load对当前CPU工作量的度量 (WikiPedia: the system load is a measure of the amount of work that a computer system is doing).也有简单的说是进程队列的长度. Load Average 就是一段时间 (1 分钟.5分钟.15分钟) 内平均 Load . 我们可以通过系统命令"w"查看当前load average情况 [[email p

理解linux sed命令

理解linux sed命令(2010-02-27 18:21:20) 标签:linuxshellsed替换 分类:革命本钱 1. Sed简介sed是一种在线编辑器,它一次处理一行内容.处理时,把当 前处理的行存储在临时缓冲区中,称为"模式空间"(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕.接着处理下一行,这样不断重复,直到文件末尾.文件内容并没有改变,除非你使用重定向存储输出.Sed主要用来自动编辑一个或多个文件:简化对文件的反

理解 Linux shell 中的一个方言:2>&1

理解 Linux shell 中的一个方言:2>&1 2016-11-14 杜亦舒 前言 在使用 linux 命令或者 shell 编程时,这个用法常会遇到 2>&1 如果是刚开始接触Linux,这个东西的确不好理解,因为他没有直观的含义,不像一个命令,例如 cp是 copy 的简写,很好记. 我以前刚用Linux时就对这个东西迷糊了一段时间,今天刚好看到一篇文章介绍他,感觉很有必要总结出来,分享给还不是很理解这个方言的朋友. 下面看一个命令示例,然后分析下他是如何工作的: l

LINUX --grep 小论

LINUX  --grep   这是一个非常重要的工具,sed,awk,grep被称为LINUX的3剑客! grep :根据模式,搜素文本,并将符合模式的文本行显示. 举例子说语法: 例子1: #grep -i 'root'  /etc/passwd    #找出/etc/passwd这个文件中root或者ROOT的行,-i是                                            ignore,忽略的意思,忽略大小写. ----------------------

理解Linux系统中的load average

理解Linux系统中的load average(图文版) 博客分类: Linux linux load nagios 一.什么是load average? linux系统中的Load对当前CPU工作量的度量 (WikiPedia: the system load is a measure of the amount of work that a computer system is doing).也有简单的说是进程队列的长度. Load Average 就是一段时间 (1 分钟.5分钟.15分钟