linux如何搜全部文件含有字符串,Linux下查找目录中全部文件中含有某个字符串,而且只打印出文件名...
假设含有“hello”web
find .|xargs grep -ri "hello" -l
这个能够,我测试了简化的:grep -l "hello" *也行。
xargs正则表达式
grep的经常使用选项:grep [option] pattern fileshell
-V: 打印grep的版本号
-E: 解释PATTERN做为扩展正则表达式,也就至关于使用egrep。 或操做
-F : 解释PATTERN做为固定字符串的列表,由换行符分隔,其中任何一个都要匹配。也就至关于使用fgrep。
-G: 将范本样式视为普通的表示法来使用。这是默认值。加不加都是使用grep。
匹配控制选项:svg
-e : 使用PATTERN做为模式。这能够用于指定多个搜索模式,或保护以连字符( - )开头的图案。指定字符串作为查找文件内容的样式。
-f : 指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。
-i : 搜索时候忽略大小写
-v: 反转匹配,选择没有被匹配到的内容。
-w:匹配整词,精确地单词,单词的两边必须是非字符符号(即不能是字母数字或下划线)
-x:仅选择与整行彻底匹配的匹配项。精确匹配整行内容(包括行首行尾那些看不到的空格内容都要彻底匹配)
-y:此参数的效果和指定“-i”参数相同。
通常输出控制选项:工具
-c: 抑制正常输出;而是为每一个输入文件打印匹配线的计数。
--color [= WHEN]:让关键字高亮显示,如--color=auto
-L:列出文件内容不符合指定的范本样式的文件名称
-l : 列出文件内容符合指定的范本样式的文件名称。
-m num:当匹配内容的行数达到num行后,grep中止搜索,并输出中止前搜索到的匹配内容
-o: 只输出匹配的具体字符串,匹配行中其余内容不会输出
-q:安静模式,不会有任何输出内容,查找到匹配内容会返回0,未查找到匹配内容就返回非0
-s:不会输出查找过程当中出现的任何错误消息,-q和-s选项由于与其余系统的grep有兼容问题,shell脚本应该避免使用-q和-s,而且应该将标准和错误输出重定向到/dev/null 代替。
输出线前缀控制:性能
-b:输出每个匹配行(或匹配的字符串)时在其前附加上偏移量(从文件第一个字符到该匹配内容之间的字节数)
-H:在每个匹配行以前加上文件名一块儿输出(针对于查找单个文件),当查找多个文件时默认就会输出文件名
-h:禁止输出上的文件名的前缀。不管查找几个文件都不会在匹配内容前输出文件名
--label = LABEL:显示实际来自标准输入的输入做为来自文件LABEL的输入。这是特别在实现zgrep等工具时很是有用,例如gzip -cd foo.gz | grep --label = foo -H的东西。看到 也是-H选项。
-n:输出匹配内容的同时输出其所在行号。
-T:初始标签确保实际行内容的第一个字符位于制表位上,以便对齐标签看起来很正常。在匹配信息和其前的附加信息之间加入tab以使格式整齐。
上下文线控制选项:测试
-A num:匹配到搜索到的行以及该行下面的num行
-B num:匹配到搜索到的行以及该行上面的num行
-C num:匹配到搜索到的行以及上下各num行
文件和目录选择选项:code
-a: 处理二进制文件,就像它是文本;这至关于--binary-files = text选项。不忽略二进制的数据。
--binary-files = TYPE:若是文件的前几个字节指示文件包含二进制数据,则假定该文件为类型TYPE。默认状况下,TYPE是二进制的,grep一般输出一行消息二进制文件匹配,或者若是没有匹配则没有消息。若是TYPE不匹配,grep假定二进制文件不匹配;这至关于-I选项。若是TYPE是文本,则grep处理a二进制文件,若是它是文本;这至关于-a选项。警告:grep --binary-files = text可能会输出二进制的垃圾,若是输出是一个终端和若是可能有讨厌的反作用终端驱动程序将其中的一些解释为命令。
-D:若是输入文件是设备,FIFO或套接字,请使用ACTION处理。默认状况下,读取ACTION,这意味着设备被读取,就像它们是普通文件同样。若是跳过ACTION,设备为 默默地跳过。
-d: 若是输入文件是目录,请使用ACTION处理它。默认状况下,ACTION是读的,这意味着目录被读取,就像它们是普通文件同样。若是跳过ACTION,目录将静默跳过。若是ACTION是recurse,grep将递归读取每一个目录下的全部文件;这是至关于-r选项。
--exclude=GLOB:跳过基本名称与GLOB匹配的文件(使用通配符匹配)。文件名glob可使用*,?和[...]做为通配符,和\引用通配符或反斜杠字符。搜索其文件名和GLOB通配符相匹配的文件的内容来查找匹配使用方法:grep -H --exclude=c* "old" ./* c*是通配文件名的通配符./* 指定须要先通配文件名的文件的范围,必需要给*,否则就匹配不出内容,(若是不给*,带上-r选项也能够匹配)
--exclude-from = FILE:在文件中编写通配方案,grep将不会到匹配方案中文件名的文件去查找匹配内容
--exclude-dir = DIR:匹配一个目录下的不少内容同时还要让一些子目录不接受匹配,就使用此选项。
--include = GLOB:仅搜索其基本名称与GLOB匹配的文件(使用--exclude下所述的通配符匹配)。
-R ,-r :以递归方式读取每一个目录下的全部文件; 这至关于-d recurse选项。
其余选项:xml
--line-buffered: 在输出上使用行缓冲。这可能会致使性能损失。
--mmap:启用mmap系统调用代替read系统调用
-U:将文件视为二进制。
-z:将输入视为一组行,每一行由一个零字节(ASCII NUL字符)而不是a终止新队。与-Z或--null选项同样,此选项能够与排序-z等命令一块儿使用来处理任意文件名。
linux如何搜全部文件含有字符串,Linux下查找目录中全部文件中含有某个字符串,而且只打印出文件名...相关推荐
- 搜索linux中大于m文件,linux 下查找大于100M的文件(转)
命令行如下 find . -type f -size +1000000k Linux系统下查找大文件或目录的技巧 当硬盘空间不够时,我们就很关心哪些目录或文件比较大,看看能否干掉一些了,怎么才能知道呢 ...
- linux 删除含有关键词的文件_linux下查找包含关键字的文件
在linux下如果要查找包含某个关键字的文件,如要在nagios目录下搜索带有关键字"store-rd-sys"的文件,在终端下运行命令: /usr/local/nagios/et ...
- windows linux复制文件夹命令,ubuntu下复制目录和文件的指令以及和windows下的copy方式...
Ubuntu中复制文件或目录的命令 cp(copy)命令 该命令的功能是将给出的文件或目录拷贝到另一文件或目录中. 语法: cp [选项] 源文件或目录 目标文件或目录 说明:该命令把指定的源文件复制 ...
- linux mysql 运行sql文件命令大全_linux下执行mysql的sql文件
linux下执行mysql的sql文件 mysql -uroot -proot 进入到mysql 然后执行source /var/ftp/pub/sogoodsoft.sql; 即可. www.2ct ...
- python 查找文件内容字符串位置_python 查找目录下 文件名中含有某字符串的文件...
有坑的地方: 若是代码写成这样: [( os.path.abspath(x)) for x in os.listdir(startPath) ] 此代码只能用于当前目录下,listdir列出的都只是文 ...
- python将文件转成linux格式,怎么用python在Windows系统下,生成UNIX格式文件
如何用python在Windows系统下,生成UNIX格式文件 平时测试工作中,少不了制造测试数据.最近一个项目,我就需要制造一批可在UNIX下正确读取的文件.为确保这批文件能从FTP下载成功,开发叮 ...
- Linux下查找大于1G的文件,并删除
命令很简单: [istester@istester.com ~]$ find /APP/istester/ -type f -size +1G | xargs rm 执行的时候,最好分两步走 , 先执 ...
- Python中的标准库函数(内置函数)print()输出(打印出)字符串的常见用法
这篇博文用于记录下Python中的标准库函数print()的常见用法,随着时间的推移,可能会有更新. print 在 Python3.x 是一个函数,但在 Python2.x 版本不是一个函数,只是一 ...
- 电脑中重复文件怎么删除?教你查找并删除重复文件
电脑中重复文件怎么删除?久友小编教你查找并删除重复文件 相信大家都有这样的情况,我们经常在电脑中下载文件或者歌曲,时间一长就忘记了.最后导致这些文件占用了大量的硬盘空间.下面小编就推荐大家一款小软件, ...
- mac 读linux格式文件内容,linux和mac osx 下查找替换并保存文件的方法
1. 查找deskop.xml 并修改文件 find . -name desktop.xml|xargs sed -i '.bak' 's/$/ /g' 注: -i 参数在 mac 下一定要指定备份 ...
最新文章
- gitlab mysql devel_服务器搭建gitlab+mysql+nginx+redis+Jekins
- jmeter web监听结果_JMeter 性能测试基本过程及示例
- 使用Docker搭建Elasticsearch集群环境
- WINCE6.0+S3C2443的启动过程---eboot4
- java复制图片实现方法
- HTML5 Audio(音频)
- linux平台之如何查看svn账号
- 【AI视野·今日CV 计算机视觉论文速览 第196篇】Wed, 12 May 2021
- python之字符编码(四)
- 逆序枚举时常犯的一个错误
- 实时获取麦克风语音信号
- error installing service: 拒绝访问。 (5)_CentOS7x86_64安装Tomcat8.5手册
- yii操作数据库(AR)
- lenovo服务器换系统重装系统_lenovo镜像系统安装教程
- Amazon亚马逊卖家设置World First(WF卡)收款教程!
- linux的系统文件位置,剖析Linux系统中的文件系统路径
- 32、Java——迷你图书管理器(对象+JDBC)
- 整整7天,梳理 Java开发2022年(图文+代码)面试题及答案
- 连接字符串大全。。。
- 新海诚没有参与制作的作品_这种新海诚风的摄影作品是怎么制作的?
热门文章
- python定义和调用函数
- Atitit 前后端交互模式 目录 1.1. Ajax	1 1.2. Fetch api	1 1.3. 服务端脚本模式(简单快速)	1 1.4. 浏览器注入对象、函数	1 1.5. 浏览器插件模式
- Atitit 性能提升总结 流水线模式 FutureTask ForkJoinTask 1.1. 流水线工作方式pipeline	1 1.2. FutureTask模式使用异步 流水线 还有多
- Atitti 载入类的几种方法 Class.forName ClassLoader.loadClass 直接new
- paip.python错误解决6
- paip。更换程序图标总结
- paip.软件版本完善计划VC421
- paip.使用继承机制来实现控制反转或依赖倒置
- segment fault 至core dump的原因
- SQLite:注意查询条件中空格的影响