Linux 中 grep命令实现递归查找

 

001、默认查找所有文件类型

(base) [root@PC1 test]# ls
a.txt  dir_layer1
(base) [root@PC1 test]# tree          ## 测试数据结构
.
├── a.txt
└── dir_layer1
    ├── a.txt
    └── dir_layer2
        ├── a.txt
        └── dir_layer3
            └── a.txt

3 directories, 4 files
(base) [root@PC1 test]# grep -r "aaa" a.txt         ### -r + file不能是西安递归查找
aaa fff
(base) [root@PC1 test]# grep -r "aaa" ./            ## 实现递归查找的必要条件,-r参数 + 目录
./dir_layer1/dir_layer2/dir_layer3/a.txt:aaa fff
./dir_layer1/dir_layer2/a.txt:aaa fff
./dir_layer1/a.txt:aaa fff
./a.txt:aaa fff

 。

 

002、指定文件类型

(base) [root@PC1 test]# ls
a.csv  a.txt  bbb.map  dir_layer1
(base) [root@PC1 test]# tree       ## 目录结构
.
├── a.csv
├── a.txt
├── bbb.map
└── dir_layer1
    ├── a.txt
    └── dir_layer2
        ├── a.txt
        └── dir_layer3
            └── a.txt

3 directories, 6 files
(base) [root@PC1 test]# grep -rn --include="*.txt" "aaa" ./     ## 指定文件后缀查找
./dir_layer1/dir_layer2/dir_layer3/a.txt:4:aaa fff
./dir_layer1/dir_layer2/a.txt:4:aaa fff
./dir_layer1/a.txt:4:aaa fff
./a.txt:4:aaa fff

 。

 

posted @ 2025-05-19 08:46  小鲨鱼2018  阅读(65)  评论(0)    收藏  举报