linux 中如何遍历当前目录下所有目录中的所有文件

 

001、方式1

(base) root@PC1:/home/test2# ls
test1  test2  test3
(base) root@PC1:/home/test2# tree
.
├── test1
│   ├── 1.txt
│   ├── 2.txt
│   └── 3.txt
├── test2
│   ├── 1.csv
│   ├── 2.csv
│   └── 3.csv
└── test3
    ├── 1.map
    ├── 2.map
    └── 3.map

3 directories, 9 files
(base) root@PC1:/home/test2# for i in `ls`; do ls $i/* | xargs -n 1 wc -l; done
0 test1/1.txt
0 test1/2.txt
0 test1/3.txt
0 test2/1.csv
0 test2/2.csv
0 test2/3.csv
0 test3/1.map
0 test3/2.map
0 test3/3.map

 

002、方式2

(base) root@PC1:/home/test2# ls                     ## 测试目录
test1  test2  test3
(base) root@PC1:/home/test2# tree
.
├── test1
│   ├── 1.txt
│   ├── 2.txt
│   └── 3.txt
├── test2
│   ├── 1.csv
│   ├── 2.csv
│   └── 3.csv
└── test3
    ├── 1.map
    ├── 2.map
    └── 3.map

3 directories, 9 files
(base) root@PC1:/home/test2# for i in $(ls); do for j in $(ls $i/*); do echo $j; done; done         ## 双循环遍历
test1/1.txt
test1/2.txt
test1/3.txt
test2/1.csv
test2/2.csv
test2/3.csv
test3/1.map
test3/2.map
test3/3.map
(base) root@PC1:/home/test2# for i in $(ls); do for j in $(ls $i/* | awk -F "/" '{print $2}'); do echo $j; done; done    ## 删除目录
1.txt
2.txt
3.txt
1.csv
2.csv
3.csv
1.map
2.map
3.map

 

posted @ 2022-08-11 15:59  小鲨鱼2018  阅读(5402)  评论(0编辑  收藏  举报