linux系统中grep命令技巧

linux grep是一个基于行对文本和内容匹配和搜索的命令。

Grep命令语法和常见的option如下:
用法: grep [选项]... PATTERN [FILE]...
在每个 FILE 或是标准输入中查找 PATTERN。
默认的 PATTERN 是一个基本正则表达式(缩写为 BRE)。
例如: grep -i 'hello world' menu.h main.c
 
--color:对匹配的字符串着色打印
-o:只显示被模式匹配到的内容
-c:打印出匹配到字符串的行数
-i:ignore case,不区分字符大小写
-v:显示不能够被模式匹配到的行
-E:使用扩展的正则表达式
-n:打印出匹配字符串的在文件中的行号
-R, -r:递归所有文件夹中的每一个文件
-f:从 FILE 中取得 PATTERN
-m: NUM 次匹配后停止
-l:打印出含有匹配字符串的文件名,而不是匹配的内容
-L:打印出没有包含匹配字符串的文件名,与 -l 选项相反
-H:对每个匹配的字符串打印出字符串所在的文件名
-h:不打印匹配字符串所在文件的文件名
-w:强制 PATTERN 仅完全匹配字词
-x:强制 PATTERN 仅完全匹配一行
-A N:打印匹配字符串的同时打印匹配字符串所有行的前 N 行
-B N:打印匹配字符串的同时打印匹配字符串所在行的后 N 行
-C N:打印匹配字符串的同时打印匹配字符串所在行的前 N 行 和 后 N 行
--exclude=GLOB:跳过 GLOB 匹配的文件名进行搜索
--exclude-dir=DIR:在递归搜索时跳过 DIR 指定的文件夹

Grep常见用法:
(1)对当前目录下文件进行递归搜索并只显示文件名
grep "redis" . -r -l

(2)搜索指定字符串并显示行号
cat /etc/passwd | grep -in "Mysql"

(3)从指定文件中读取关键词进行搜索
root@mckee-pc:~# cat test.txt
linux
peida.cnblogs.com
ubuntu
ubuntu linux
redhat
Redhat
linuxmint
root@mckee-pc:~# cat test2.txt
linux
Redhat
root@mckee-pc:~# cat test.txt | grep -f test2.txt
linux
ubuntu linux
Redhat
linuxmint

(4)匹配以"at"结尾的内容行
cat test.txt | grep -E "at$"

(5)仅匹配单词,并显示匹配行数
grep -w -c "usr" /etc/passw

时间: 2024-08-18 17:03:46

linux系统中grep命令技巧的相关文章

详解Linux系统中md5sum命令的用法

  这篇文章主要介绍了详解Linux系统中md5sum命令的用法,用来处理MD5验证的相关操作,需要的朋友可以参考下 MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改.MD5全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位(十六进制长度就是32位)的"指纹"(或称"报文摘要"),不同的文件产生相 同的报文摘要的可能性是非常非常之小的. 在linux或Unix上,

linux系统中ls命令的用法

普通文件: -,f目录文件: d链接文件(符号链接): L设备文件:字符设备:c块设备:b命名管道: p套接字文件: s linux文件时间戳 时间分为三种类型:创建时间,修改时间:open访问时间:读写改变时间:源数据发生改变时间   4. ls -s 在每个文件的后面打印出文件的大小. size(大小,以K为单位)5. ls -t 按时间进行文件的排序 Time(时间)6. ls -A 列出除了"."和".."以外的文件.7. ls -R 将目录下所有的子目录的

Linux系统中‘dmesg’命令处理故障和收集系统信息的7种用法

Linux系统中'dmesg'命令处理故障和收集系统信息的7种用法 'dmesg'命令显示linux内核的环形缓冲区信息,我们可以从中获得诸如系统架构.cpu.挂载的硬件,RAM等多个运行级别的大量的系统信息.当计算机启动时,系统内核(操作系统的核心部分)将会被加载到内存中.在加载的过程中会显示很多的信息,在这些信息中我们可以看到内核检测硬件设备. dmesg Command Examples dmesg 命令的使用范例 'dmesg'命令设备故障的诊断是非常重要的.在'dmesg'命令的帮助下

MySQL在Linux系统中隐藏命令行中的密码的方法

  这篇文章主要介绍了MySQL在Linux系统中隐藏命令行中的密码的方法,作者利用简单的C程序实现,需要的朋友可以参考下 在命令行中输入命令并不是一个好主意,会造成安全问题.但是如果你决定去写一个应用,而这个应用需要在命令行中使用密码或者其他敏感信息.那么,你能通过以下方法禁止系统的其他用户轻易的看到这些敏感数据 呢?,类似MySQL在ps命令下隐藏密码. 假设我这里系统里两个用户,一个是root ,一个是dabu .测试系统为centos 6.5在按照下面的步骤做: ? 1 2 3 4 [r

Linux系统中ls命令的常见用法整理

  ls命令是Linux系统中最被频繁使用的命令之一,我相信ls命令一定是你进入一台Linux系统的电脑打开命令提示符后第一个使用的命令.我们每天都在频繁地使用ls命令,即使我们可能没有意识也从来用不到所有可用的选项.本文中,我们将讨论下一些基本的ls命令并且覆盖尽可能多的有关参数来讲解. 1. 不带任何选项列出文件 不带选项的ls命令来光秃秃地列出文件和目录,我们是不能看到像文件类型.大小.修改日期和时间.权限以及链接这样具体的信息的. 代码如下: # ls 0001.pcap Desktop

linux中grep 命令技巧一则

经常用grep命令查找文件内容,如果是git管理的代码会有很多的无用信息,比如有 No such file or directory 错误 其实搜索时候加入-s即可  代码如下 复制代码 grep –r ./* –s 在abc*目录下的所有xml文件中查找字符串xyz,命令如下:  代码如下 复制代码 find abc* -name '*.xml' | xargs grep -s 'xyz'

Linux系统中netstat命令的基本使用方法

  在计算中,netstat(网络统计数据)是一个命令行工具,它显示传输控制协议的网络连接(传入和传出),路由表,和一个数字网络接口 (网络接口控制器或者软件定义的网络接口)和网络协议的统计数据.它可在类Unix操作系统,包括OS X,Linux,Solaris和BSD,并提供对基于Windows NT的操作系统,包括Windows XP,Windows Vista中,Windows 7和Windows8. 本文主要介绍netstat在Linux的使用 netstat man的帮助手册会有提示信

linux系统中find命令之exec使用介绍

  find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了. exec解释: -exec 参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠. {} 花括号代表前面find查找出来的文件名. 使用find时,只要把想要的操作写在一个文件里,就可以用exec来配合find查找,很方便的.在有些操作系统中只允许-exe

MySQL在Linux系统中隐藏命令行中的密码的方法_Mysql

在命令行中输入命令并不是一个好主意,会造成安全问题.但是如果你决定去写一个应用,而这个应用需要在命令行中使用密码或者其他敏感信息.那么,你能通过以下方法禁止系统的其他用户轻易的看到这些敏感数据 呢?,类似MySQL在ps命令下隐藏密码. 假设我这里系统里两个用户,一个是root ,一个是dabu .测试系统为centos 6.5在按照下面的步骤做: [root@dabu.info ~]#su dabu #切换到dabu这个账号 [dabu@dabu.info ~]$cd ~ #切换到dabu的h