내 디렉토리 구조는
- 폴더 1
- 폴더 2
- 폴더 2a
- 폴더 2b
- 폴더 3
- 폴더 3a
- 폴더 3b
- 폴더 2
다음 명령의 xargs 출력이 혼란스럽습니다.
XXXXXX:folder1 user$ find . -type d -maxdepth 1 | xargs -I{} find {} -type d -maxdepth 1 | xargs -I{} echo {}
.
./folder2
./folder3
./folder2
./folder2/folder2b
./folder2/folder2a
./folder3
./folder3/folder3a
./folder3/folder3b
기대하고 있어요
./folder2
./folder2/folder2b
./folder2/folder2a
./folder3
./folder3/folder3a
./folder3/folder3b
시작 출력이 첫 번째 find 명령의 출력 아래에 있습니까?
.
./folder2
./folder3
첫 번째 find 명령의 출력이 두 번째 find 명령에 매개변수로 전달되므로 출력하면 안 된다고 생각합니다. 출력의 첫 번째 부분은 어디에서 나오나요?
답변1
find . -type d -maxdepth 1
.
디렉터리이고 깊이가 1보다 작으므로 출력(현재 디렉터리)에 포함됩니다 . 따라서 find
via를 다시 실행하면 .
추가 xargs
출력을 얻을 수 있습니다. -mindepth 1
첫 번째 명령이 필요할 수도 있습니다 .
$ find . -maxdepth 1 -mindepth 1 -type d | xargs -I{} find {} -type d -maxdepth 1 | xargs -I{} echo {}
./folder2
./folder2/folder2b
./folder2/folder2a
./folder3
./folder3/folder3a
./folder3/folder3b