Linux下如何通过grep命令查找文件内容,有什么有用的参数
Admin 2022-06-23 群英技术资讯 549 次浏览
在linux中,可以使用“grep 查找内容 文件”命令来简单查找文件内容;如果想要忽略大小写,则可使用“grep -i 查找内容 文件”命令;如果想搜索目录里所有文件,且结果中显示行号,则可使用“grep -nr 查找内容 *”命令。
本教程操作环境:Red Hat Enterprise Linux 6.1系统、Dell G3电脑。
Linux查找文件内容(grep)
grep是Linux命令行下常用于查找过滤文本文件内容的命令。最简单的用法是:
grep 查找内容 文件
如果想忽略大小写,可以用-i参数:
grep -i 查找内容 文件
如果想搜索目录里所有文件,包括子目录的话,并且在结果中显示行号,可以用以下命令:
grep -nr 查找内容 *
grep的语法支持正则表达式,正则表达式有些复杂,以后再讲解。下面是一些有用的参数:
-A num, --after-context=num: 在结果中同时输出匹配行之后的num行
-B num, --before-context=num: 在结果中同时输出匹配行之前的num行,有时候我们需要显示几行上下文。
-i, --ignore-case: 忽略大小写
-n, --line-number: 显示行号
-R, -r, --recursive: 递归搜索子目录
-v, --invert-match: 输出没有匹配的行
我们可以通过管道操作来让grep变得更强大,管道操作就是把前面一条命令的输出作为后面一条命令的输入,从而把很多简单的命令组合起来完成复杂的功能。例如,如果我们想查找包含apple的行,但又想过滤掉pineapple,可以用下面的命令:
grep apple fruitlist.txt | grep -v pineapple
如果我们想把搜索结果保存起来,那么可以把命令的标准输出重定向到文件:
grep apple fruitlist.txt | grep -v pineapple > apples.txt
重定向符号>和管道操作符号|的区别是,重定向后面接的是一个文件,它后面不能再接任何文件或命令了;而管道操作后面接的是命令,可以无限地接下去。如果想以追加方式写到文件,可以用>>。管道操作是Linux命令行的一种哲学,它是计算机技术中少有的能沿用几十年的技术之一。通过管道操作,一行命令可以完成Windows下上千行程序也不能完成的文本处理功能。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
linux下chkconfig命令的使用语法及参数用法是什么?本篇文章来给大家讲述下关于Linux系统之chkconfig命令的使用内容,chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。
这篇文章主要介绍了 Docker背后的原理,docker轻量,一次封装到处运行,启动快,所以很适合做扩缩容、微服务,docker复用宿主机操作系统的内核,作为普通进程调用,使用linux提供的namespace隔离技术来实现虚拟化,是一种轻量级虚拟化技术,需要的朋友可以参考一下
在linux中,more的意思为“更多”,是一个内容分屏命令,可以分页显示大文本文件的内容,使用户可以逐页阅读文件中内容,它默认是内置在各个Linux发行版中的,语法为“more [选项] 文件名”。more命令的执行会打开一个交互界面,用户可以使用交互命令来查看或编辑内容,例如回车键用于向下移动一行,空格键用于向下移动一页,“d”用于向下移动半页。
解决方法:1、复制一个“/usr/share/mysql”目录下的“my-medium.cnf”文件到“/etc”目录;2、将复制之后的文件改名为“my.cnf”即可。出现“my.cnf”找不到的原因是使用rpm包安装的MySQL不会安装“/etc/my.cnf”文件。
在linux中,s指的是“强制位权限”,位于user或group权限组的第三位置。如果在user权限组中设置了s位,则当文件被执行时,该文件是以文件所有者UID而不是用户UID执行程序;如果在group权限组中设置了s位,当文件被执行时,该文件是以文件所有者GID而不是用户GID执行程序。s权限位是一个敏感的权限位,容易造成系统的安全问题。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008