기본적으로 tree
디스플레이는 다음과 같습니다.
$ tree
.
├── Package.resolved
├── Package.swift
├── Sources
│ └── SwiftClientSDK
│ ├── OpenAPI.yaml
│ ├── SwiftClientSDK.swift
│ └── openapi-generator-config.yaml
└── Tests
└── SwiftClientSDKTests
└── SwiftClientSDKTests.swift
다음과 같이 cwd의 내용을 표시하고 싶습니다.
Package.resolved
Package.swift
Sources
└── SwiftClientSDK
├── OpenAPI.yaml
├── SwiftClientSDK.swift
└── openapi-generator-config.yaml
Tests
└── SwiftClientSDKTests
└── SwiftClientSDKTests.swift
매뉴얼 페이지에서 본 어떤 내용도 이것이 가능하다는 것을 암시하지 않습니다.
답변1
닮지 않은 것 같다
tree -- *
가깝지만 디렉토리 유형이 아닌 파일에 대해 불평하고 디렉토리에 대한 심볼릭 링크를 따릅니다.
추가 들여쓰기를 제거하기 위해 언제든지 출력을 사후 처리할 수 있습니다.
tree -C | sed '1d;$!s/....//'
이렇게 하면 첫 번째d
줄이 제거 되고 () 마지막 () 줄을 제외한 모든 줄의 처음 4개 문자가 삭제됩니다( 처음 4개 문자를 null로 대체). 옵션은 출력이 터미널로 전송되지 않으므로 색상을 유지하는 것입니다.1
s
!
$
-C
tree
이에 대한 함수를 만들 수 있습니다.
ltree() (
set -o pipefail
if [ -t 1 ]; then
set -- -C "$@"
fi
tree "$@" | sed '1d;$!s/....//'
)
여러 디렉터리(예: )를 전달하면 ltree dir1 dir2
올바르게 작동하지 않습니다 . 이 경우 정상적인 tree
출력이 필요할 수 있습니다.