linux 查找 -- find | grep

查找目录中文件的字符串 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<n;++i)print a;}}\' {} /; 2>/dev/null
打印当前目录下文件中包含指定的字符串信息,
首先打印文件名,然后打印所查找的字符串在该文件中的行号并打印出该行。
希望对大家工作有所帮助:)
用法: 比如你把它存为 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 是删除命令,{ } 表示文件名,“/;”是规定的命令结尾。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值