Linux下Grep命令的详细使用方法?在linux中grep命令是非常有用的,它和管道(|)配合使用,非常强大,用于搜索文本文件.如果想要在几个文本文件中查找一字符串,可以使用‘grep’命令 。‘grep’在文本中搜索指定的字符串 。
假设您正在‘/usr/src/linux/Documentation’目录下搜索带字符串‘magic’的文件:
$ grep magic /usr/src/linux/Documentation/*
sysrq.txt:* How do I enable the magic SysRQ key?
sysrq.txt:* How do I use the magic SysRQ key?
其中文件‘sysrp.txt’包含该字符串 , 讨论的是 SysRQ 的功能 。
默认情况下 , ‘grep’只搜索当前目录 。如果此目录下有许多子目录,‘grep’会以如下形式列出:
grep: sound: Is a directory
这可能会使‘grep’的输出难于阅读 。这里有两种解决的办法:
明确要求搜索子目录:grep -r
或忽略子目录:grep -d skip
当然,如果预料到有许多输出,您可以通过 管道 将其转到‘less’上阅读:
$ grep magic /usr/src/linux/Documentation/* | less
这样,您就可以更方便地阅读 。
有一点要注意,您必需提供一个文件过滤方式(搜索全部文件的话用 *) 。如果您忘了,‘grep’会一直等着 , 直到该程序被中断 。如果您遇到了这样的情况,按,然后再试 。
下面是一些有意思的命令行参数:
grep -i pattern files :不区分大小写地搜索 。默认情况区分大小写,
grep -l pattern files :只列出匹配的文件名,
grep -L pattern files :列出不匹配的文件名 ,
grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),
grep -C number pattern files :匹配的上下文分别显示[number]行,
grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行,
grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行 。
这里还有些用于搜索的特殊符号:
\ 分别标注单词的开始与结尾 。
例如:
grep man * 会匹配 ‘Batman’、‘manic’、‘man’等,
grep '\grep '\' 只匹配‘man’ , 而不是‘Batman’或‘manic’等其他的字符串 。
'^':指匹配的字符串在行首,
'$':指匹配的字符串在行尾,
如果您不习惯命令行参数,可以试试图形界面的‘grep’,如 reXgrep。这个软件提供 AND、OR、NOT 等语法,还有漂亮的按钮 :-)。如果您只是需要更清楚的输出,不妨试试 fungrep。
Linux文本匹配命令grep与fgrep使用全解Linux中grep与fgrep命令的使用,两个命令的使用都与文本的搜索与匹配相关,是Linux入门学习中的基础知识,接下来是我为大家收集的Linux文本匹配命令grep与fgrep使用全解linux下匹配命令,希望能帮到大家 。
Linux文本匹配命令grep与fgrep使用全解
grep
grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本 , 并把匹配的行打印出来 。Unix的grep家族包括grep、egrep和fgrep 。egrep和fgrep的命令只跟grep有很小不同 。egrep是grep的扩展,支持更多的re元字符 , fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表示回其自身的字面意义,不再特殊 。Linux使用GNU版本的grep 。它功能更强 , 可以通过-G、-E、-F命令行选项来使用egrep和fgrep的功能 。
grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板 。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名 。搜索的结果被送到屏幕,不影响原文件内容 。
推荐阅读
- 衢州移动服务器IP,移动的服务器密码是多少
- 爱奇艺下载,爱奇艺下载的视频怎么保存到本地
- 代理ip软件排行榜,好用的代理ip软件
- 斗鱼手机耳机直播,斗鱼手机耳机直播怎么设置
- java不用写代码 java代码需要编译吗
- ios怎么修改衣服颜色吗,如何让苹果手机换衣服
- 有的软件默认不走代理怎办,某些应用不走代理
- erp系统单据审核流程,erp已审核的单据可以修改吗
- 怎么配置电脑mysql 怎么配置电脑环境变量