[笔记] find: 同时在多种类型文件中搜索字符串

来源:互联网 发布:惯性坐标系知乎 编辑:程序博客网 时间:2024/06/03 04:50

[笔记] find: 同时在多种类型文件中搜索字符串

主要使用find-o参数(or的含义)和xargs
举个例子:(注:在cygwin环境下测试)

★ 准备文件和简单的数据

$ echo "hello world" > a.cpp$ echo "hello China" > b.cpp$ echo "hello java" > c.java$ echo "hi header" > a.h$ echo "hi c" > d.c$ echo "hi cc" > e.cc

★ 查找所有c和c++文件

$ find . -iname "*.c*"./a.cpp./b.cpp./d.c./e.cc

★ 查找所有c、c++文件和头文件

$ find . -iname "*.c*" -o -iname "*.h*"./a.cpp./a.h./b.cpp./d.c./e.cc

★ 查找所有cpp和java文件

$ find . -iname "*.cpp" -o -iname "*.java"./a.cpp./b.cpp./c.java

★ 在所有cpp和java中搜索hello字符串

$ find . -iname "*.cpp" -o -iname "*.java" | xargs grep -i hello./a.cpp:hello world./b.cpp:hello China./c.java:hello java

★ 在所有c、c++文件、头文件和java文件中搜索hellohi字符串

$ find . -iname "*.c*" -o -iname "*.java" -o -iname "*.h" | xargs grep -i "hello\|hi"./a.cpp:hello world./a.h:hi header./b.cpp:hello China./c.java:hello java./d.c:hi c./e.cc:hi cc
原创粉丝点击