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
。