记录学习过程中的点点滴滴
[shell学习笔记]grep和find命令详解
最新在看《Linux And Unix shell Programing 》,避免看完之后忘记,以后每看一部分都记录下。今天主要记录下linux下
最常用的两个命令grep和find。
一、Grep命令
grep [OPTIONS] PATTERN [FILE...]
grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]
查找文件中包含某个关键词的行;
常用选项:
- -c : 只输出匹配的行数
- -i : 查找不区分大小写
- -n: 显示匹配的行号
- -v: 显示不包含关键词的行
- -A Num: 显示匹配的行及其后面num行
- -B Num: 显示匹配的行及其前面的num行
- -r: 如果遇到目录递归查询
- -E :正则表达式扩展
常见的用法
grep keyword -r * # 在当前目录及其子目录下查找包含keyword的行 grep --exclude="*\.svn*" keyword -r * #功能同上,但是不查找.svn文件 #正则表达式 grep ‘48[34]’ your_file #查找包含483或者484的行 grep '4\{3,8\}' your_file #查找包含3个到8个4的行 grep -E '216|329' your_file #包含216或者329的行 #和其它程序配合使用 ps aux | grep apache2 | grep -v grep #查找apache2相关进程
二、Find命令
find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]
在目录中查找文件
常用选项:
- -name: 按照文件名来查找
- -type: 按照文件类型查找(b: block d: directory )
- -perm: 按照权限来查找
- -user: 按照文件属主来查找
- -group: 按照组来查找
- -mtime +n -n: 按照修改时间来查找,-n代表n天以内的修改的文件,+n代表n天以前的修改的文件
- -newer fil1 !file2 : 查找比file1新的文件,但是比file2旧的文件
- -size n c: 按照文件大小查找,带c表示以字节计算
- -exec: 当匹配到文件后,执行某些命令,该命令以 {} \;结束,如果在执行命令前需要确认,请加-ok选项
常见的用法
find . -name "*.txt" -print #在当前目录及其子目录中查找以.txt文件为后缀的文件 find . -type d -print #查到当前目录中的目录文件 find . -mtime +5 -name "*.log" -exec rm {} \; #删除5天前得日志 find . -mtime +5 -name "*.log" -ok rm {} \; #功能同上,但是删除前会确认来自yaronspace.cn 本文链接:http://yaronspace.cn/blog/archives/1511
您可能对下面文章也感兴趣:
这篇文章由admin于2012 年 08 月 13 日 20:34发表在Linux编程, shell编程。你可以订阅RSS 2.0 你可以跳到结尾直接评论。目前不允许通知。 |