全部博文(7)
2012年(7)
分类: LINUX
2012-08-13 09:33:23
查找目录中文件的字符串 grep -n "str" -r ./ 这是查找当前目录下以及下辖子目录下所有包含str字符串的文件
如何用grep在本目录及其所有的子目录下的文件里面查找字符串abc?
grep -R abc *
要找隐藏文件,可以:
grep -R abc * .*
find ./ -type f|xargs grep abc
以前写的一个小脚本,不过没用grep,不知是否合lz用
#!/bin/bash
# create by krqi ^_^,glade to help u :)
find . -type f -exec gawk 'BEGIN{n=0} {if($0~/'"$1"'/){a[n++]=FNR" "$0}}END{if(n>0){print(FILENAME);for(i=0;i
打印当前目录下文件中包含指定的字符串信息,
首先打印文件名,然后打印所查找的字符串在该文件中的行号并打印出该行。
希望对大家工作有所帮助:)
用法: 比如你把它存为 myfind,然后这样使用
myfind "what u want find"
然后就把当前目录下(包含子目录),所有包含"what u want find"的信息打印出来了:)
find 是高级的寻找文件工具,可不像 whereis 那么“阳春白雪”。但也因为它太高级了,复杂到很多人用不熟练。我们尽量只举简单的例子。
最简单的格式如下:
find / -name my* -print
这个意思是请它从最底层的主目录开始找,找出文件名是 my 开头的文件,把它显示出来。-print 选项是显示,您可把它当做固定要加上的项目。
但它还可以用时间来找,例如:
find /usr -atime 3 –print
会从 /usr 目录开始往下找,找最近3天之内存取过的文件。
find /usr -ctime 5 –print
会从 /usr 目录开始往下找,找最近5天之内修改过的文件。
find /doc -user jacky -name 'j*' –print
会从 /doc 目录开始往下找,找jacky 的、文件名开头是 j的文件。
find /doc /( -name 'ja*' -o- -name 'ma*' /) –print
会从 /doc 目录开始往下找,找寻文件名是 ja 开头或者 ma开头的文件。
find /doc -name '*bak' -exec rm {} /;
会从 /doc 目录开始往下找,找到凡是文件名结尾为 bak的文件,把它删除掉。-exec 选项是执行的意思,rm 是删除命令,{ } 表示文件名,“/;”是规定的命令结尾。