linux(四十)文件和目录相关命令grep

简介: linux(四十)文件和目录相关命令grep

linux中的grep命令的功能是查找,就是匹配你想找的文件内容。这里要注意一下,仅支持匹配,不支持替换。


1:语法格式:


grep [OPTIONS] PATTERN [FILE...]


grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]


grep 支持不同的匹配模式,比如默认的 BRE 模式,增强型的 ERE 模式,还有更强悍的 PRE 模式。普通情况下使用默认的 BRE(basic  regular  expression) 模式就可以了,这种方式的特点是支持的正则表达式语法有限。如果需要更进一步的正则表达式语法支持,可以使用 ERE(extended regular expression) 模式。如果要使用复杂的正则表达式语法,可以使用 PRE 模式,它支持 Perl 语言的正则表达式语法。

 

2:常用参数


--help


-V, --version


-G, --basic-regexp        BRE 模式,也是默认的模式


-E, --extended-regexp  ERE 模式


-P, --perl-regexp           PRE 模式


-F, --fixed-strings          指定的模式被解释为字符串


-i 忽略大小写


-o 只输出匹配到的部分(而不是整个行)


-v 反向选择,即输出没有没有匹配的行


-c 计算找到的符号行的次数


-n 顺便输出行号


-r 递归查找

 

3:示例


我这里只能给出简单的示例,和正则配合的部分,后期我看看正则,再补充。


(1):-i:忽略大小写

[root@iZuf60ynur81p6k0ysvtneZ opt]# grep -i A total.txt
1234567sdfdsfkjlxzscjlkjfolijasu
asjoidjuoaisdoaisdas
ah
jsdoljuasoidjoaisdja
jasoidjupoasdjipoa
as
sad
asd
asdas
asd
asd
asd
zxsdfas
xcvasd

 

(2):-n:输出行号

[root@iZuf60ynur81p6k0ysvtneZ opt]# grep -in A total.txt
1:1234567sdfdsfkjlxzscjlkjfolijasu
3:asjoidjuoaisdoaisdas
5:ah
7:jsdoljuasoidjoaisdja
9:jasoidjupoasdjipoa
11:as
13:sad
16:asd
18:asdas
21:asd
24:asd
28:asd
31:zxsdfas

 

(3):-v:反向选择

grep -ivn A test.txt
[root@iZuf60ynur81p6k0ysvtneZ opt]# grep -ivn A test.txt
1:这是我在创建文件的时候输入的内容
2:
3:这是文件内容结尾
4:
5:这是我追加的内容呀
6:STOP
7:
8:这是我第二次追加的内容啊
9:
[root@iZuf60ynur81p6k0ysvtneZ opt]#

(4):-r:递归查找

grep -r firefox /usr/bin/
[root@VM_0_4_centos bin]# grep -r firefox /usr/bin/
/usr/bin/firefox:## $ firefox
/usr/bin/firefox:MOZ_FIREFOX_FILE="firefox"
/usr/bin/firefox:if [ ! -r $MOZ_LIB_DIR/firefox/$MOZ_FIREFOX_FILE ]; then
/usr/bin/firefox:    if [ ! -r $SECONDARY_LIB_DIR/firefox/$MOZ_FIREFOX_FILE ]; then
/usr/bin/firefox:     echo "Error: $MOZ_LIB_DIR/firefox/$MOZ_FIREFOX_FILE not found"
/usr/bin/firefox:         echo "       $SECONDARY_LIB_DIR/firefox/$MOZ_FIREFOX_FILE not found"
/usr/bin/firefox:MOZ_DIST_BIN="$MOZ_LIB_DIR/firefox"
/usr/bin/firefox:export MOZ_APP_LAUNCHER="/usr/bin/firefox"

其他的正则相关的命令示例后期补充……

 

有好的建议,请在下方输入你的评论。


目录
相关文章
|
1月前
|
linux命令详细说明以及案例
本文介绍了常用的 Linux 命令及其详细说明和示例,包括:`ls`(列出目录内容)、`cd`(更改目录)、`rm` 和 `mv`(删除与移动文件)、`grep`(搜索文本)、`cat`(显示文件内容)以及 `chmod`(更改文件权限)。每个命令均配有功能描述、选项说明及实际案例,帮助用户更好地掌握 Linux 命令的使用方法。
158 56
Linux系统中的cd命令:目录切换技巧
踏过千山,越过万水,人生就是一场不断前行的旅程,总充满了未知与挑战。然而,“cd”命令如同你的旅伴,会带你穿梭在如棋盘一般的文件系统中,探索每一处未知。希望你能从“cd”命令中找到乐趣,像是掌控了一种络新妙的魔法,去向未知进发,开始你的探索之旅。
94 24
|
9天前
|
Linux系统下快速批量创建和删除文件的方法
总的来说,使用shell脚本来批量处理文件是一种非常强大的工具,只要你愿意花时间学习和实践,你会发现它能大大提高你的工作效率。
65 19
|
8天前
|
Linux命令的基本格式解析
总的来说,Linux命令的基本格式就像一个食谱,它可以指导你如何使用你的计算机。通过学习和实践,你可以成为一个真正的“计算机厨师”,创造出各种“美味”的命令。
52 15
Linux系统之su命令的基本使用
Linux系统之su命令的基本使用
71 2
Linux系统之su命令的基本使用
调试技巧 - 用Linux命令排查Java问题
总的来说,使用Linux命令来排查Java问题,需要一定的实践经验和理论知识。然而,只要我们愿意花时间深入了解这些工具,我们就能够熟练地使用它们来分析和解决问题。此外,这些工具只是帮助我们定位问题,真正解决问题需要我们对Java和JVM有深入的理解,并能够读懂和分析代码。
62 13
|
1月前
|
Linux基础:文件和目录类命令分析。
总的来说,这些基础命令,像是Linux中藏匿的小矮人,每一次我们使用他们,他们就把我们的指令准确的传递给Linux,让我们的指令变为现实。所以,现在就开始你的Linux之旅,挥动你的命令之剑,探索这个充满神秘而又奇妙的世界吧!
75 19
|
1月前
|
linux常用命令详细说明以及案例
本文介绍了Linux中几个常用的命令及其用法,包括:`ls`(列出目录内容)、`cd`(切换目录)、`mkdir`(创建目录)、`rm -p`(删除目录及内容)和`mv`(移动或重命名文件/目录)。每个命令都配有详细说明、语法格式、常见选项及实用案例,帮助用户更好地理解和使用这些基础命令。内容源自[linux常用命令详细说明以及案例](https://linux.ciilii.com/show/news-285.html)。
|
27天前
|
如何创建Linux交换文件?Linux交换文件最新创建方法
Swap是Linux中的虚拟内存空间,用于在物理内存不足时将非活动进程移至磁盘,从而优化活动进程的性能。通过创建交换文件(如1GB),可灵活调整交换空间而无需重新分区。步骤包括:使用`fallocate`或`dd`创建文件、设置权限 (`chmod 600`)、格式化 (`mkswap`)、启用交换 (`swapon`)、修改`/etc/fstab`以持久化配置,以及调整`vm.swappiness`值(默认60,建议从10开始)来平衡内存与交换的使用。最后通过`swapon -s`检查状态并重启生效。此方法适用于VPS和专用服务器,需以root用户操作。
49 2
|
11月前
|
linux(三十六)文件和目录相关命令tree
linux(三十六)文件和目录相关命令tree
84 0
下一篇
oss创建bucket