Linux下查找某文件夹下某类文件的内容
2017-02-10 11:44
148 查看
转载自:http://hittyt.iteye.com/blog/1681500
今天有个需求:需要查找在某个工程下面的所有js文件和vm文件中是否包含某个特定的关键字$a。
自己最直观的想法,使用find实现。
这里很容易在-or参数后面忘记再写一次-name参数,我开始就是忘记了,导致语法就有问题,linux不认!
后来请教一位同事时,人家给出了直接grep的解法,相当不错,记录一下:
这里,–include参数表明需要grep哪类文件,-r表示递归搜索特定的文件夹,千万别忘记最后的那个“点”,用于表明在当前文件夹下搜索。
另外,还有个需求,要做多少关键字被匹配到的记录。其实本质上是需要个shell下的计数器。
不过这个小语法有被我写错了,必须记录一下了,汗。
因为使用的是bash,所以直接使用((i++))做自增最方便了。不过这里的注意,自增变量i在(())双括号中是不用使用变量引用的$符号的,这个被我忽略的地方,也就错在这里了。。。
所以正确的写法类似于下面这样的:
今天有个需求:需要查找在某个工程下面的所有js文件和vm文件中是否包含某个特定的关键字$a。
自己最直观的想法,使用find实现。
find . -name "*.js" -or -name "*.vm" | xargs grep "\b$a\b"
这里很容易在-or参数后面忘记再写一次-name参数,我开始就是忘记了,导致语法就有问题,linux不认!
后来请教一位同事时,人家给出了直接grep的解法,相当不错,记录一下:
grep "\b$a\b" --include=\*.{js,vm} -r .
这里,–include参数表明需要grep哪类文件,-r表示递归搜索特定的文件夹,千万别忘记最后的那个“点”,用于表明在当前文件夹下搜索。
另外,还有个需求,要做多少关键字被匹配到的记录。其实本质上是需要个shell下的计数器。
不过这个小语法有被我写错了,必须记录一下了,汗。
因为使用的是bash,所以直接使用((i++))做自增最方便了。不过这里的注意,自增变量i在(())双括号中是不用使用变量引用的$符号的,这个被我忽略的地方,也就错在这里了。。。
所以正确的写法类似于下面这样的:
i=0 #in for loop under some condition ((i++))
相关文章推荐
- linux 文件内容查找(当前文件夹下)
- linux 在当前文件夹下的查找内容含有“name”文件的
- [Ubuntu] Linux查找当前文件夹下文件内容
- linux 查找指定内容的文件
- Linux下查找内容中含某关键字的文件
- Linux 文件、内容查找(递归) ,grep ,find 收藏
- linux下查找文件内容
- Linux查找目录及了目录下文件内容
- Linux查找文件内容的常用命令方法
- linux 下查找 包含特定内容的文件 或包含特定文件名的文件
- linux下查找文件内容!
- Linux查找文件内容的常用命令方法
- [linux]查找当前目录下所有文件内容是否包含某字符
- Linux查找文件内容的常用命令方法
- 在LINUX中如何查找文件内容中含有某字符串的文件
- linux 查找文件内容
- linux下常用小技巧--查找目录下是否存在特定内容的文件
- linux下面在查找文件到时候-prune掉一个文件夹
- linux 下查找文件或者内容常有命令
- linux下某个文件中查找文件内容