하위 디렉터리에 이전에 파일이 포함되어 있던 디렉터리 계층 구조 나열

하위 디렉터리에 이전에 파일이 포함되어 있던 디렉터리 계층 구조 나열

나는 OR을 사용하여 출력을 정렬하려고 시도했으며 트리에서 더 tree높은 find파일보다 더 깊은 디렉토리로 드릴다운할 때마다 결국 동일한 결과를 얻었습니다. 내가 원하는 것은 관심 있는 디렉터리를 lua 테이블에 저장하고 해당 디렉터리를 파일 하위 테이블의 키로 사용하는 것입니다.

나는 그것을 사용하고 있다tree -fi -noreport {Foo,Baz}

Foo
Foo/Foo.Build.cs
Foo/Private
Foo/Private/Foos
Foo/Private/Foos/Bars
Foo/Private/Foos/Bars/BaseBar.cpp
Foo/Private/Foo.cpp
Foo/Private/FOOPCH.h
Baz
Baz/Baz.Build.cs

나는 결과가 다음과 같기를 원합니다:

Foo
Foo/Foo.Build.cs
Foo/Private
Foo/Private/Foo.cpp
Foo/Private/FOOPCH.h
Foo/Private/Foos
Foo/Private/Foos/Bars
Foo/Private/Foos/Bars/BaseBar.cpp
Baz
Baz/Baz.Build.cs

tree fi -noreport {Foo,Baz} | sort -t '/'작동 안함. 나는의 솔루션을 사용해 보았습니다.이 스레드,지금 바로 tree | awk '{print gsub("/","/"), $0}' | sort -n | cut -d' ' -f2-. 이렇게 하면 디렉터리와 파일 간의 관계가 끊어집니다.

디렉터리 앞에 나타나도록 동일한 깊이의 파일을 정렬하는 방법은 무엇입니까?

답변1

먼저 디렉터리 이름을 표시한 다음 파일 이름으로 이동하여 표시합니다.

find . ! -name . -type d -print -exec sh -c 'find "$1" -maxdepth 1 ! -type d' {} {} \;

관련 정보