나는 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' {} {} \;