grep排除目录_grep命令排除指定文件

莫娜号 1

Linux 中 Grep 命令的常见示例,很全面

Grep 是一个强大的 UNIX 命令,可让您在文件内容中搜索各种参数。当您进行故障排除或调试时,它特别有用。

grep排除目录_grep命令排除指定文件grep排除目录_grep命令排除指定文件


grep排除目录_grep命令排除指定文件


grep 命令有大量的选项和用例。您可能永远不需要或使用所有这些。但是,您最终会在大多数情况下使用少数几个 grep 命令。

本文列出了最常见的 grep 命令和快速示例:

描述 :不区分大小写的搜索

描述 :匹配后显示 n 行

描述 :个方法1 建一个属组 GROUP 2 把ROOT和USER1加入该组 3 把文件所属组设为 GROUP 第二个方法1 把ROOT加入USER1的私有组, 2 把文件所属组设为USER1第三个方法1 把USER1加入ROOT的私有组2 把文件所属组设为ROOT在匹配前显示 n 行

描述 :在匹配前后显示 n 行

描述 :显示不匹配的行

描述 :计算匹配行数

描述 :仅显示文件名

描述 :匹配确切的单词

描述 :匹配正则表达式模式

描述 :搜索二进制然后用新建一个sh文件赋值可执行权限,内容这样文件

描述 :递归搜索目录

让我们看看 grep 命令的几个常见用例。

默认情况下,使用 grep 进行的搜索区分大小写,-i您可以使用以下选项忽略大小写匹配:

这样,grep 将返回与 和 匹配的Holmes行holmes。

默认情况下,您只会看到匹配的行,但是,当您对某些问题进行故障排除时,在匹配行之前和/或之后查看几行会有所帮助。

您可以使用-A来显示匹配行之后的行。

下面的命令将显示匹配的行以及匹配后的 5 行。

下面的命令将在匹配行之前显示 5 行以及匹配行。

我最喜欢的是该选项-C,因为它显示了匹配行之前和之后的行。

下面的命令将显示匹配行之前的 5 行、匹配行和 matchine 行之后的 5 行。

您可以组合-i和-v选项。

您可以结合-cand-v选项来获取与给定模式不匹配的行数。您当然可以使用不区分大小写的选项-i。

要显示匹配行的行号,您可以使用该-n选项。

您可以对反向搜索执行相同的作。

您可以提供多个文件供 grep 搜索。

这可能有效,但更实际的示例是搜索特定类型的文件。例如,如果您只想在 shell 脚本中查找字符串(以 .sh 结尾的文件),您可以使用:

您可以使用 grep option执行递归搜索-r。它将在当前目录及其子目录中的所有文件中搜索给定的模式。

默认情况下,grep 显示匹配的行。如果您对多个文件运行了搜索,并且只想查看哪些文件包含该字符串,则可以使用该-l选项。

设您想查看哪些 Markdown 文件包含“手册”一词,您可以使用:

默认情况下,grep 将显示包含给定字符串的所有行。你可能并不总是想要那个。如果您正在搜索单词“done”,它还会显示包含“doner”或“abandoned”字样的行。

这样,如果您搜索单词“done”,它只会显示包含“done”的行,而不是“doner”或“abandoned”。

您可以使用正则表达式模式为您的搜索提供超级动grep -l 'baidu' | xargs mv -f -t .../website力。有一个允许使用正则表达式模式的专用选项-e和-E一个允许使用扩展正则表达式模式的选项。

您可以在同一个 grep 搜索中搜索多个模式。如果要查看包含一种模式或另一种模式的行,可以使用 OR 运算符|。

您可以将多个模式与 OR 运算符一起使用。

AND 运算符没有特定选项。为此,您可以多次使用 grep 和管道重定向。

Grep 默认忽略二进制文件。-a您可以使用该选项使其在二进制文件中搜索,就好像它是文本文件一样。

图文说明Linux下grep查找含有某字符串的方法

命令示例:

本文分享linux下通过grep来查找含有指定字符串的所有文件的方法。以查找Parameter这个字符串为例。

【步骤一】grep用法 grep [options] PATTERN [FILE...]即grep [选项] 要设您正在‘/usr/src/linux/Documentation’目录下搜索带字符串‘magic’的文件:查找的字符串 查找范围(查找路径),常用组合为grep -rinl "要查找的字符串" 查找范围,rinl表示如下: -r 是递归查找,查找所有文件包含子目录 -i 忽略大小写 -n 是显示行号 -l只列出匹配的文件名 man grep的说明如下图:

【步骤二】grep -r递归查找 1、不带-r查找范围不包括子目录; 2、带-r时查找范围包括子目录。 : 表示当前目录所有文件,也可以是某个文件名 grep -i "Parameter" /home/test/shell/ grep -ri "Parameter" /home/test/shell/ 如下图:

【步骤四】grep -n显示行数 显示查找字符串在文件的行数位置。 grep -rn "Parameter" /home/test/shell/ 如下图:

【步骤五】grep -l只显示匹配的文件名。 grep -ri &有一点要注意,您必需提供一个文件过滤方式(搜索全部文件的话用 )。如果您忘了,‘grep’会一直等着,直到该程序被中断。如果您遇到了这样的情况,按 ,然后再试。#34;Parameter" /home/test/shell/ grep -ril "Parameter" /home/test/shell/ 如下图:

linux查找目录下的所有文件中是否含有某个字符串

DiskOnChip:片+glue logic,glue logic=硬件ECC产生器+用于静态的nand 芯片控制的寄存器+直接访问一小片地址窗口,那块地址中包含了代码的stub桩,其可以从nand flash中拷贝真正的代码。

Nand flash的作,和其他一些常见的设备,如硬盘等,不同,其有自己特殊的方式。

其特殊就在于:

Nand flash的最小单位是页page,而不是其他很多设备所说的位bit。

写入数据之前必须先进行擦除erase作

写的时候,最小单位是页page,对也进行写作,也称作“页编程”,page programming

擦除的最小单位是块block

由于物理特性,容易出我来回答吧。恐怕是没有一条这样的命令,只能是用几条命令串接起来用了。错,所以无论是读还是写,都要采取检测和校验,即EDC。

nand flash出厂时候,就有一定坏的块block,成为您可以使用 grep 显示与给定模式不匹配的所有行。此“反转匹配”与以下-v选项一起使用:换块,并且做了一定标记。

nand flash中有个额外的空间,find ./ -name .h|xargs grep "test"叫做spare area/oob!

grep -nr "xxxx" ./

注:xxxx就是你要找的字符串

求linux命令:要求:删除此目录下的/usr/local/,所有2012-12-11 这天的目录及文件 求高人帮写,万分感谢

-mtime +n

今天是17号, 所以命令是这样的

-c您可以使用选项获取与模式匹配的行数,而不是显示匹配的行。这是小写的c。

-daystart表示从总是0点计算时间, 而不是从现在时刻计算。 现在是12:1m,不加这个参数的话, find会认为早于昨天12:13才是昨天。

ll -c --full-time 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据。 `find /usr/local/ -print` |grep 2012-12-11

grep后面是时间 你系统时间格式自行替换

find /usr/local/ -type f -newer '20121211' -older '20121212' ----查找文件

find /usr/local/ -type d -newer '20121211' -older '20121212' ----查找目录

find /usr/local -mtime +5 -exec rm {} ;

譬如今天是12月17号,删除12月11号文件

find /usr/local/ -mtime 6 -exec rm -rf {} ;

-mtime n

-mtime -n

你ubuntu的话,命令前面要加sudo 这个授权命令,楼上的命令应该都可以实现的。

SunOS里如何使用sed和grep查找并直接替换某个目录下文件里的A和B

在linux中grep命令是非常有用的,它和管道(|)配合使用,非常强大,用于搜索文本文件.如果想要在几个文本文件中查找一字符串,可以使用‘grep’命令。‘grep’在文本中搜索指定的字符串。

sed -i 's/A/B/g' `ls -R dir/ 2>/dev/null` 2>/dev/null

将dir目录下所有文件文件里的A替换为B,如要同时替换A和B的话,使用sed -i -e 's/A/XX/g' -e '先用ls -我的本意是.svn目录下的文件不用搜索了.l命令看看你创建时间的格式s/B/XXX/g'

linux的grep查询命令

man看下,

其实grep命令很强大:您说的题意不够清楚,如果你的意思是对log文件进行grep的话:你只要输入:cat log |grep “-i:忽略模式中的字母大小写。A" |grep "B" 可以;

试试这样:gr这样,您就可以更方便地阅读。ep A | grep B

linux grep命令详解

-r:递归查找子目录中的文件

Linux grep命令用于查找文件里符合条件的字符串或正则表达式。

-C<显示行数>或--context=<显示行数>或-<显示行数>:除了显示符合样式的那一grep: sound: Is a directory行之外,并显示该行之前后的内容。

grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep

语法:

grep [options] pattern [files]

pattern - 表示要查找的字符串或正则表达式。

files - 表示要查找的文件名,可以同时查找多个文件,如果省略files参数,则默认从标准输入中读取数据。

常用选项:

-i:忽略大小写进行匹配

-v:反向查找,只打印不匹配的行

-n:显示匹配行的行号

-l:只打印匹配的文件名

-c:只打印匹配的行数

更多参数:

-A<显示行数>或--after-context=<显示行数>:除了显示符合范本样式的那一列之外,并显示该行之后的内容。

-B<显示行数>或--before-context=<显示行数>:除了显示符合样式的那一行之外,并显示该行之前的内容。

-c或--count:计算符合样式的列数。

-d<动作>或--directories=<动作>:当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。

-e<范本样式>或--regexp=<范本样式>:指定字符串做为查找文件内容的样式。

-F或--fixed-regexp:将样式视为固定字符串的列表。

参数有很多,就不一一介绍了,希望大家在学习工作的过程中慢慢认识它们。

grep命令作为Linux文本处理三剑客的一员,另外两个是sed和awk。

grep命令的由来可以追溯到UNIX诞生的早期,在UNIX系统中,搜索的模式(patterns)被称为正则表达式(regular

expressions),为了要搜索一个文件,有的用户在要搜索的字符串前加上前缀global(全面的),一旦找到相匹配的内容,用户就像将其输出(print)到屏幕上,而将这一系列的作整合到一起就是global

regular expressions print,而这也就是grep命令的全称。

grep命令能够在一个或多个文件中,搜索某一特定的字符模式(也就是正则表达式),此模式可以是单一的字符、字符串、单词或句子。

正则表达式是描述一组字符串的一个模式,正则表达式的构成模仿了数学表达式,通过使用作符将较小的表达式组合成一个新的表达式。正则表达式可以是一些纯文本文字,也可以是用来产生模式的一些特殊字符。为了进一步定义一个搜索模式,grep

命令支持如表 1 所示的这几种正则表达式的元字符(也就是通配符)。

grep命令的基本格式如下:

[root@localhost ~]# grep [选项] 模式 文件名

这里的模式,要么是字符(串),要么是正则表达式。

grep命令常用选项及含义:

-c:仅列出文件中包含模式的行数。

-l:列出带有匹配行的文件名。

-v:列出没有匹配模式的行。

-w:把表达式当做一个完整的单字符来搜寻,忽略那些部分匹配的行。

注意,如果是搜索多个文件,grep命令的搜索结果只显示文件中发现匹配模式的文件名;而如果搜索单个文件,grep命令的结果将显示每一个包含匹配模式的行。

请教,grep时指定某些目录不搜索,该怎么写命令

grep -i pattern files :不区分大小写地搜索。默认情况区分大小写,

谢谢诸位兄即:在一个工作薄中首先创建一个主表(所有检索工作在此表中进行),然后将你要被检索的其他内容分别放在本工作薄的其他表中(分别有相应的被检索名称)。将主表中的文件名分别与对应的被检索表一一对应链接在一起即可。“主表”也相当于是一个目录一样的效果。弟.这样搞定的:

您可能已经知道要在文件中搜索特定文本或模式,您必须像这样使用 grep:

find file_dir/ -path ".svn" -prune -o -print | xargs grep 'apple_banner' -n > ~/tmp/tmp.txt

Linux下Grep命令的详细使用方法

-mindepth :搜索文件时至少要深入到指定目录的第 n 层子目录。

$ grep magic /usr/src/linux/Documentat【步骤三】grep -i忽略大小写 1、不带-i表示大小写敏感,表示要与查找字符串的大小写一致; 2、带-i表示忽略大小写,大写和小写都可以。 grep -i "Parameter" /home/test/shell/ grep -ri "Parameter" /home/test/shell/ 如下图:ion/

-E或--extended-regexp:将样式为延伸的正则表达式来使用。

sysrq.txt: How do I use the magic SysRQ key?

其中文件‘sysrp.txt’包含该字符串,讨论的是 SysRQ 的功能。

默认情况下,‘grep’只搜索当前目录。如果此目录下有许多子目录,‘grep’会以如下形式列出:

这可能会使‘grep’的输出难于阅读。这里有两种解决的办法:

明确要求搜索子目录:grep -r

或忽略子目录:grep -d skip

当然,如果预料到有许多输出,您可以通过 管道 将其转到‘less’上阅读:

$ grep magic /usr/src/linux/Documentation/ | less

下面是一些有意思的命令行参数:

grep -l pattern files :只列出匹配的文件名,

grep -L pattern files :列出不匹配的文件名,

grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),

grep -C number pattern files :匹配的上下文分别显示[number]行,

grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行,

grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。

这里还有些用于搜索的特殊符号:

< 和 > 分别标注单词的开始与结尾。

例如:

grep man 会匹配 ‘Batman’、‘manic’、‘man’等,

grep '

grep '' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。

'^':指匹配的字符串在行首,

'$':指匹配的字符串在行尾,

linux下可以实现让一个目录拥有多个属主吗

-n:在每一行的最前面列出行号。

经常遇到这样一种情况,需要修改一个目录下的所有文件及其目录的组和用户为nobody,但是这个目录下有挂载过来的NFS,NFS权限无法修改,有的人想到卸载NFS,这样也可以,但是如果在生产环境-f<规则文件>或--file=<规则文件>:指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。下呢,很显然行不通。请看下面的几条命令 //批量修改当前目录下文件的权限.#ls |grep -v attachments|grep -v images|grep -v bak | xargs -i chown -R 777 {}命令解析:1、ls 列出目录下的所有文件和目录名2、grep grep -v attachments|grep -v images|grep -v bak 排除掉attachments,images,bak 这3个,输出剩下的目录和文件名3、xargs -i chown 777 -R nobody.nfind /usr/local -daystart -mtime 6 -exec rm -rf {} ;obody {} 分别设置权限777//下面这个命令是设置所有者和所属组,和上面的意思一样。#ls |grep -v attachments|grep -v images|grep -v bak | xargs -i chown -R nobody.nobody {}

如何用grep 检索多个目录里的文件

sysrq-ctime 、-cmin 、-cnewer :与 -atime、-amin 和 -anewer 相同,但比较的是文件上次修改的时间。.txt: How do I enable the magic SysRQ key?

使用超级链接功能,请研究帮助中的“超级链接”。

-b或--byte-offset:在显示符合样式的那一行之前,标示出该行个字符的编号。
最后修改时间:
食用氢化植物油 食用氢化植物油属于食用油脂制品
上一篇
目不暇接近义词(目不暇接近义词美不胜收
下一篇

相关文章