① linux grep -d skip/skip/recurse 是读目录文件采取读或者跳过,我感觉这个没有用啊,用了和没用一样!
个人理解,举例子,过滤关键字'DEVICE=ens33',过滤位置/etc/* ,就是在/etc/目录下过滤出关键字'DEVICE=ens33'的行
#read读取
[root@localhost~]#grep-dread'DEVICE-ens33'/etc/*
会发现得到很多:grep: /etc/xxx: Is a directory,我给的范围是/etc/*,grep过滤字符时肯定要打开文件读取到数据吧,而我给的路径有的目录,目录怎么读取,所以读目录的时候会报错,那么我认为read是默认的模式,并且不会过滤子目录内的文件!
#recurse递归
[root@localhost~]#grep-drecurse'DEVICE=ens33'/etc/*
得到结果:/etc/sysconfig/network-scripts/ifcfg-ens33:DEVICE=ens33发现,过滤的路径不再是/etc/xxx,而是将/etc/所有的目录包括子目录都在过滤范围内了,而没有提示xxx Is a directory,可能是读取子目录时发现是目录,就进到子目录在进行过滤 [0_0]异想天开,反正,这不就是递归了嘛。
#skip跳过
[root@localhost~]#grep-dskip'DEVICE=ens33'/etc/*
#发现什么都没有,而我使用
[root@localhost~]#grep-dskip'/root:/bin/bash'/etc/*
#结果如下
/etc/passwd:root:x:0:0:root:/root:/bin/bash
/etc/passwd-:root:x:0:0:root:/root:/bin/bash
发现了当我使用skip这个选项,只有/etc/xxx这级目录能被过滤出来,发现它并没有递归了,并且没有提示xxx Is a directory。从字面意思上看,skip,貌似是目录的话就跳过了。。。
② grep命令找出当前路径包括子文件夹里文件中含有“aaa"的shell命令
grep'aaa'-drecurse-c.2>/dev/null|grep-v':0$'
-d 参数代表读取目录 recurse 代表 递归读取
管道符号前的 grep 会生成 文件名:匹配数 类似这个
./.cache/google-chrome/Default/Cache/dfe2088b363a5932_1:1
./.cache/google-chrome/Default/Cache/102987e4c5d0bde5_1:2
第二个 grep 筛选 匹配行数不为 0 的。
③ [Linux] find 搜索指定文件的时候,如何排除某一个文件夹下的所有文件
find [path] [expression]
这是find命令的基本格式,如果要排除某个文件夹的话,我觉得应该用一个不包回含该文件夹的正规式。不过貌似答find里面没有一个像grep 的 -v选项,来排除某个匹配式。
可以看看这个:
http://hi..com/he_qiao_2010/item/327e365bf578fa8209be1788
④ Linux用grep命令,列出当前目录下的所有子目录名
两种方法,选择自己喜欢的风格:
(1)同一楼:ls -l |grep ^d
从ls -l 的结果中提取以d(directory目录)开头的字串,效果如下:
drwxrwxr-x 4 haha haha 40K Dec 8 03:01 CIAF2
drwxrwxr-x 2 haha haha 4.0K Dec 10 14:08 Reference
(2)同样的思路 ls -F | grep /
从ls -F 的结果中提取以 /(表示目录),效果如下:
CIAF2/
Reference/
⑤ grep命令查找怎样排除具体路径下某个文件
find命令是根据文件的属性进行查找,如文件名,文件大小,所内有者,所属组,是否为空,访问时间容,修改时间等。若跟据文件的内容进行查找,需使用grep命令。 说明: 1、find命令的一般形式为find [PATH] [option] [action] find命令部分选项说明:...
⑥ 如何用grep 检索多个目录里的文件
使用超级链接功能,请研究帮助中的“超级链接”。
即:在一个工作薄中首先创建一个主表(所有检索工作在此表中进行),然后将你要被检索的其他内容分别放在本工作薄的其他表中(分别有相应的被检索名称)。最后将主表中的文件名分别与对应的被检索表一一对应链接在一起即可。“主表”也相当于是一个目录一样的效果。
⑦ 如何过滤文件
准备一个有很多内容的文件,由于本人比较懒,直接那系统中mysql的配置文件【my.cnf】来做测试吧。你也可以自己编写一个文件,然后测试,效果都是一样的奥。
⑧ grep跳过某目录
find ./ -type f|grep cpp$|xargs grep -in 关键字
在当前目录的cpp文件中不区分大小的查找含关键字的文件行并列出行号
==
看看这个能不能帮到你.
你说的-r递归 我没有用过.
⑨ 求命令:将GREP查出来的结果文件移动到另外一目录
我来回答吧。恐怕是没有一条这样的命令,只能是用几条命令串接起来用了。
grep -l '' | xargs mv -f -t .../website
⑩ linux怎样用grep过滤
不知道你是想实现什么目的,如果你是想只显示配置文件中的以 # 号开头的行版,那就使用
# grep ^# filename
如果是想显示除权 # 号开头的行的话呢,只需加个参数-v (-v 表示相反的过滤)就行了
# grep -v ^# filename