Linux 常用命令七 grep

一、grep命令

grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响原文件内容。

grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。我们利用这些返回值就可进行一些自动化的文本处理工作。

在文件中搜索一个字符,命令会返回一个包含“1”的文本行:

[email protected]:~/workpalce/python$ grep ‘words‘ create.txt 

在多个文件中查找:

[email protected]:~/workpalce/python$ grep ‘words‘ create.txt a.txt b.txt

输出除之外的所有行 -v 选项:

[email protected]:~/workpalce/python$ grep -v ‘words‘ create.txt

统计文件或者文本中包含匹配字符串的行数 -c 选项:

[email protected]:~/workpalce/python$ grep -c ‘words‘ create.txt

输出包含匹配字符串的行数 -n 选项:

[email protected]:~/workpalce/python$ grep -n ‘words‘ create.txt

在目录中对文本进行递归搜索:

[email protected]:~/workpalce/python$ grep -r ‘words‘ .

忽略匹配样式中的字符大小写:

[email protected]:~/workpalce/python$ grep -i ‘words‘ create.txt

二、grep选项

-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   #在显示符合样式的那一行之前,表示该行所属的文件名称。

-i    --ignore-case   #忽略字符大小写的差别。

-l    --file-with-matches   #列出文件内容符合指定的样式的文件名称。

-L   --files-without-match   #列出文件内容不符合指定的样式的文件名称。

-n   --line-number   #在显示符合样式的那一行之前,标示出该行的列数编号。

-q   --quiet或--silent   #不显示任何信息。

-r   --recursive   #此参数的效果和指定“-d recurse”参数相同。

-s   --no-messages   #不显示错误信息。

-v   --revert-match   #显示不包含匹配文本的所有行。

-V   --version   #显示版本信息。

-w   --word-regexp   #只显示全字符合的列。

-x    --line-regexp   #只显示全列符合的列。

-y   #此参数的效果和指定“-i”参数相同。

时间: 2024-10-09 22:48:42

Linux 常用命令七 grep的相关文章

linux常用命令:grep 命令

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户. grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板.如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名.搜索的结果被送到标准输出,不影响原文件内容. grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成

Linux常用命令(七) - cp

cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一.一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参数.但是如果是在shell脚本中执行cp时,没有-i参数是不会询问是否覆盖.这说明命令行和shell脚本的执行方式有些不同. 1.命令格式: cp [选项]... 源... 目标目录 2.命令功能: 将源文件复制至目标文件,或将多个源文件复制至目标目录. 3. 命令参数: -a, --archive    为每个

Linux常用命令之grep

标题:grep命令的使用 作用:grep可以解析一行文字,取得关键字,若改行存在关键字,就会整行列出.    grep [-acinv] [--color=auto] '查找字符串' filename 一.参数 -a: 将binary文件以text方式查找数据 -c: 计算找到匹配字符串的行数 -i: 忽略大小写的不同,所有大小写视为相同 -n: 输出行号 -o: 只输出匹配上的字符串 -v: 反向选择,即显示出没有"查找字符串"内容的那一行 --color=auto: 可以将找到的关

Linux常用命令touch/grep/mkdir/rm/cat/find/cp/mv/tar/gzip等

Unix-->Linux(Ubuntu,Redhat,suse,fedora) 1. cd - :回到上次执行的那个目录(相当于"回看"的功能) 2. touch :创建一个文件,可以是任意后缀的文件 3. 重定向:> 或 >>  (追加显示,将本来要显示在屏幕上的命令或信息导入到文件中) 比如:ls -alh > a.txt  (将命令"ls -alh"导入到a.txt文件中) 4. grep(管道)    ①.more test.t

linux 常用命令(1) grep

grep用于查找字符串 案例1:获取用户的home目录 比如有一个用户名为whuang,那么我如何获取他的家目录呢? grep "^whuang:" /etc/passwd |awk -F : {'print $6'} 案例2:获取用户的id grep "^whuang:" /etc/passwd |awk -F : {'print $3'} 案例3:获取所属组的id grep "^whuang:" /etc/passwd |awk -F : {

Linux常用命令(七)磁盘和文件系统管理

 Linux常用命令(七)磁盘和文件系统管理 一.管理磁盘及分区   1.检测并确认新硬盘 fdisk –l命令--列出当前系统中所有硬盘设备及其分区的信息 上述信息中包含了各硬盘的整体情况和分区情况 ■ Device:分区的设备文件名称 ■ Boot:是否是引导分区.是,则有"*"标识. ■ Start:该分区在硬盘中的起始位置(柱面数). ■ End:该分区在硬盘中的结束位置(柱面数). ■ Blocks:分区的大小,以Blocks(块)为单位,默认的块大小为1024字节. ■ I

Linux常用命令速查备忘

Linux常用命令速查备忘 PS:备忘而已,详细的命令参数说明自己man 一. 启动,关机,登入,登出相关命令 [login] 登录 [logout] 登出 [exit] 登出 [shutdown] 停止系统 [halt] 停止系统 [reboot] 重启动 [poweroff] 切断电源 [sync] 把内存里的内容写入磁盘 [lilo] 安装lilo启动管理程序 [grub] 安装lilo启动管理程序 二. Shell相关命令 [chsh] 切换Shell [history] 显示命令履历

Linux(二)Linux常用命令

Linux常用命令 一 .linux命令的格式 1.命令 [选项] [参数] ls list 显示目录下内容 ① 命令名称:ls 命令英文原意:list 命令所在路径:/bin/ls 执行权限:所有用户 功能描述:显示目录文件 ② ls 名直接回车,显示目录下内容 ls -l 长格式显示 (缩略选项用一个减号,完整选项用两个减号) -rw------- 1 root root 1190 08-10 23:37 anaconda-ks.cfg 第一项:-rw------- 权限位 第二项: 1 引

Linux常用命令及重要的文件目录

重要的文件目录(系统分配的目录): ROOT:存放ROOT用户的相关文件 HOME :存放普通用户的相关文件(新建的用户) BIN:存放常用命令的目录   cd 切换目录  ls dir SBIN:存放要具有一定权限才可以使用的命令 MNT:默认挂载光驱和软驱的目录 ETC:存放配置相关的文件,mysql,tomcat, USR:文件默认安装的文件夹,类似XP的program files VAR:存放经常变化的数据,如网页,apache BOOT:存放引导相关的文件 Linux常用命令 进入桌面