linux 查寻出包含某个字符串的所有文件的方法详解
一、find查找用法
find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
find默认的寻找路径为当前目录,并且默认的表达式为-print
1、列出某个路径下所有文件,包括子目录。
find /data -name “*”
2、查找在某个路径下所有包含“test abc”字符串的文件
find /data -name “*” | xargs grep “test abc”
3、-name:按照文件名查找
find /data -name “*.txt”
4、-perm:按照权限查找文件
find /data -perm 755 查找权限为755的文件
5、-user和-nouser
find /data -user zhao -print 查找文件属主是zhao的文件
find /data -nouser -print 查找文件属主已经被删除的文件
6、-group和-nogroup
find /data -group test -print 查找文件群组是zhao的文件
7、按照时间
find /data -mtime -5 -print 文件更改时间在5天内的文件
find /data -mtime +3 -print 文件更改时间在3天前的文件
find /data -newer file1 -print 查找比文件file1新的文件
8、按照类型查找
find /data -type d -print 查找所有目录
9、按照大小
find /data -size +1000000C -print 查找文件大小大于1000000字节(1M)的文件
10、查找位于本文件系统里面的文件
find /data -name “*.txt” -mount -print
-exec,-ok:find命令对于匹配文件执行该参数所给出shell命令,相应命令形式为: ‘command’ {} \;
-ok 在执行命令前要确认
find /data -type f -exec ls -l {} \;
find /data -name “*.log” -mtime +5 -ok rm {} \;
find /data -name core -exec rm {} \;
使用-x dev参数
防止find搜索其他分区
find . -size 0 -exec rm {} \;
删除尺寸为0的文件
11. xargs与-exec功能类似
find /data -type f |xargs grep -i “Mary”
在所有文件中检索字符串Mary
ls *~ |xargs rm -rf 删除所有以~结尾的文件
二、grep用法
Usage: grep [OPTION]... PATTERN [FILE]..
Regexp selection and interpretation:
-E, --extended-regexp PATTERN is an extended regular expression (ERE)
-F, --fixed-strings PATTERN is a set of newline-separated fixed strings
-G, --basic-regexp PATTERN is a basic regular expression (BRE)
-P, --perl-regexp PATTERN is a Perl regular expression
-e, --regexp=PATTERN use PATTERN for matching
-f, --file=FILE obtain PATTERN from FILE
-i, --ignore-case ignore case distinctions
-w, --word-regexp force PATTERN to match only whole words
-x, --line-regexp force PATTERN to match only whole lines
-z, --null-data a data line ends in 0 byte, not newline
Miscellaneous:
-s, --no-messages suppress error messages
-v, --invert-match select non-matching lines
-V, --version print version information and exit
--help display this help and exit
--mmap ignored for backwards compatibility
Output control:
-m, --max-count=NUM stop after NUM matches
-b, --byte-offset print the byte offset with output lines
-n, --line-number print line number with output lines
--line-buffered flush output on every line
-H, --with-filename print the filename for each match
-h, --no-filename suppress the prefixing filename on output
--label=LABEL print LABEL as filename for standard input
-o, --only-matching show only the part of a line matching PATTERN
-q, --quiet, --silent suppress all normal output
--binary-files=TYPE assume that binary files are TYPE;
TYPE is `binary', `text', or `without-match'
-a, --text equivalent to --binary-files=text
-I equivalent to --binary-files=without-match
-d, --directories=ACTION how to handle directories;
ACTION is `read', `recurse', or `skip'
-D, --devices=ACTION how to handle devices, FIFOs and sockets;
ACTION is `read' or `skip'
-R, -r, --recursive equivalent to --directories=recurse
--include=FILE_PATTERN search only files that match FILE_PATTERN
--exclude=FILE_PATTERN skip files and directories matching FILE_PATTERN
--exclude-from=FILE skip files matching any file pattern from FILE
--exclude-dir=PATTERN directories that match PATTERN will be skipped.
-L, --files-without-match print only names of FILEs containing no match
-l, --files-with-matches print only names of FILEs containing matches
-c, --count print only a count of matching lines per FILE
-T, --initial-tab make tabs line up (if needed)
-Z, --null print 0 byte after FILE name
grep与正则表达式同用
grep “^[^abc]” *.f 提取行首不是abc的行
grep “[0-9]\{3\}[8]” *.f 提取类似xxx8的行,x表示任意数字
grep “a\{2\}” *.f 显示a至少出现两次的行,注意grep是以行处理单位的
grep -n “^$” file 列出空行的行号
-E参数,可以使用”与”和”或”模式
grep -E “abc | def” *.f 显示包含abc或者def的行
ex:
ls -l | grep “^$” 显示目录
ls -l | grep “^d” 显示文件
ls -l | grep “^d..x..x..x” 显示特定权限的目录
相关推荐
- apache .htaccess文件详解和配置技巧总结 如果需要使用.htaccess以外的其他文件名,可以用AccessFileName指令来改变。例如,需要使用.config ,则可以在服务器配置文件中按以下方法配置: 其中,RewriteEngine 表示开启URL重写,RewriteRule是重写规则。 2.阻止/允许特定的IP地址某些情况下,你可能只想允许某些特定IP的用户可以访问你的网站(例如:只允许使用特定ISP的用户进入某个目录),或者想封禁某些特定的IP地址(例如:将低级用户隔离于你的信息版面外)。当然,这只在你知道你想拦截的IP地址时才有用,然而现在网上的大多数用户都使用动态IP地址,所以这并不是限制使用的常用方法。你可以使用以下命令封禁一个IP地址: 这里的000.000.000.000是被封禁的IP地址,如果你只指明了其中的几个,则可以封禁整个网段的地址。如你输入210.10.56.,则将封禁210.10.56.0~210.10.56.255的所有IP地址。
- linux查找目录下的所有文件中是否含有某个字符串
- linux 查寻出包含某个字符串的所有文件的方法详解
- Linux查寻含有某字符串的所有文件
- Linux 常用命令 查看端口是否启动: 查看服务是否启动: 查看文件夹下有多少目录和文件: 查看进程 查看指定进程 查看文件夹中文件个数 Linux查看文件夹实际大小 linux实用命令之如何移动文件夹及文件下所有文件 lynx 在命令行查看网页内容 fuser 查看占用文件夹的进程 查看实时网速 删除乱码文件 后台执行命令 查看/停止 进程 Linux 统计某个字符串出现的次数
- PHP mac homebrew PHP开发APP接口 JavaScript去除空格的几种方法 PHP 程序员的调试技术小结 PHP5各个版本的新功能和新特性总结 设置调试PHP,debug php输出所有错误信息 CodeIgniter 核心代码阅读 php生成UUID唯一序列的代码示例 PHP中如何开启错误提示输出? json_decode 英文 HTML表格 PHP开发APP接口 php 字符串截取函数 How To Fix Cowardly Refusing to Sudo error in Brew – Mac OS X CI框架源码完全分析之核心文件 mac os 下php安装mcrypt扩展 mac os 安装mcrypt扩展 可以参考 不能照搬 表单对齐,送给新手~ php执行数据库查询返回json格式数据 禁止网页右键、复制、另存为、查看源文件 PHP怎么输出换行符 PHP引用(&)各种使用方法实例详解 PHP之道 Vim配色方案设置(更换Vim配色方案) P
- angularJS详解 AngularJS的基本知识详解 4.2 特性二: 模板在AngularJS中,一个模板就是一个HTML文件。 但是HTML的内容扩展了,包含了很多帮助你映射model到view的内容。HTML模板将会被浏览器解析到DOM中。DOM然后成为AngularJS编译器的输入。AngularJS将会遍历DOM模板来生成一些指导,即,directive(指令)。所有的指令都负责针对view来设置数据绑定。我们要理解AuguarJS并不把模板当做String来操作。输入AngularJS的是DOM而非string。数据绑定是DOM变化,不是字符串的连接或者innerHTML变化。使用DOM作为输入,而不是字符串,是AngularJS区别于其它的框架的最大原因。使用DOM允许你扩展指令词汇并且可以创建你自己的指令,甚至开发可重用的组件。最大的好处是为设计师和开发者创建了一个紧密的工作流。设计师可以像往常一样开发标签,然后开发者拿过来添加上功能,通过数据绑定将会
- 7.Linux查找目录下的所有文件中是否含有某个字符串
- Linux中查寻包含特定字符串的所有文件
- 【Linux】怎么查找目录下包含某个字符串的所有文件
- linux基础教程- vi编辑器
- Kali Linux 2.0装配光盘分享