首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
Linux资讯 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>linux基础>常用命令>正文

linux grep命令的使用

http://www.oklinux.cn  2007-01-22  来源: oklinux收集整理   会员收藏  游客收藏  【 】 
用‘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’会一直等着,直到该程序被中断。如果您遇到了这样的情况,按 <CTRL c> ,然后再试。

下面是一些有意思的命令行参数:

  • 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 '\<man' * 匹配‘manic’和‘man’,但不是‘Batman’,
    • grep '\<man\>' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。
  • '^':指匹配的字符串在行首,
  • '$':指匹配的字符串在行尾,
  • 如果您不习惯命令行参数,可以试试图形界面的‘grep’,如 reXgrep 。这个软件提供 AND、OR、NOT 等语法,还有漂亮的按钮 :-) 。如果您只是需要更清楚的输出,不妨试试 fungrep 。
 Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1487019

上一篇:Linux下常见文件解压方法及命令   下一篇:用Linux Command Shell模拟DOS命令


收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·用Linux Command Shell模拟DOS命令
·Linux下常见文件解压方法及命令
·使用netcat命令网络同步复制系统
·运用提示行命令让你在Linux下玩魔术
·LINUX常用的系统状态查询命令
·菜鸟给grub设密码的简单快速方法
·RedHat Linux 9键盘的快捷操作
·Linux Netstat命令常用选项详细解析
·用sort 和tsort 对文件进行排序
·使用Mount bind时需要注意的权限问题
·Linux系统管理的内容及其常用命令
·浅谈FreeBSD 5.2常用操作的改变
·Unix/BSD/Linux的口令机制初探
·使用lsof恢复误删的文件
·Linux 命令行下如何配置nVIDIA显卡
·标准化您的 UNIX 命令行工具
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·Linux系统下Source命令的使用
·Linux操作系统中使用nmap命令
·Ubuntu Linux系统下apt-get命令参数介
·Linux操作系统备份压缩工具Tar使用说明
·Linux系统攻略 关于vi替换命令的使用说
·Linux系统下的文件权限调用:chmod命令
·Linux系统命令行下编辑常用的快捷键
·Linux Shell中强大的正则grep
·Linux系统下ifconfig命令使用及结果分
·Linux系统下Shutdown命令-[option]
·动态链接库管理命令Ldconfig的使用说明
·Linux下查看某目录或指定文件大小的命
  阅读排行
·ps命令常用用法
· Linux下如何删除非空目录
· date命令详解及ntp时间同步
·常用的tar和rpm命令参数列表
·新手从零开始:Linux系统命令的使用
·Linux入门时必学60个文件处理命令
·Linux系统下VI命令快捷键集合
·Linux VI命令使用技巧集锦
·标准化您的 UNIX 命令行工具
·Linux 笔记本基于“敲打”的命令
·运用提示行命令让你在Linux下玩魔术
·linux常用命令之bash 入门指南
·Linux 命令行下如何配置nVIDIA显卡
·Linux系统下常用命令及账户管理
·Linux操作系统平台Vi指令大全
网摘收藏: