반응형
"예쁜"디렉토리 트리를 만들기위한 ASCII 라이브러리?
다음과 같은 디렉토리 트리 시각화를 쉽게 만들 수있는 * nix 도구 또는 perl / php 라이브러리가 있습니까?
www
|-- private
| |-- app
| | |-- php
| | | |-- classes
| | | +-- scripts
| | |-- settings
| | +-- sql
| +-- lib
| +-- ZendFramework-HEAD
+-- public
|-- css
|-- images
+-- scripts
어떻게에서이 예에 대한 유닉스 트리 / 리눅스 나무 :
ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'
그 oneliner는 꽤 멋지므로 tree util을 사용하는 것이 좋습니다 .
bash-3.2$ mkdir -p this/is/some/nested/example
bash-3.2$ mkdir -p this/is/another/super/nested/example
bash-3.2$ mkdir -p this/is/yet/another/example
bash-3.2$ mkdir -p this/is/some/nested/other/example
bash-3.2$ tree this
this
`-- is
|-- another
| `-- super
| `-- nested
| `-- example
|-- some
| `-- nested
| |-- example
| `-- other
| `-- example
`-- yet
`-- another
`-- example
13 directories, 0 files
이 질문에 대한 답변은 오래 전부터 있었지만, 트리 라는이 프로그램 도 꽤 멋진 것을 발견했습니다 .
RecursiveIterator를 반복하여 ASCII 그래픽 트리를 생성 할 수 있습니다.
$treeIterator = new RecursiveTreeIterator(
new RecursiveDirectoryIterator('/path/to/dir'),
RecursiveTreeIterator::SELF_FIRST);
foreach($treeIterator as $val) echo $val, PHP_EOL;
출력은 다음과 같습니다 (내 컴퓨터에 c : \ php 포함).
|-c:\php5\cfg
|-c:\php5\data
| |-c:\php5\data\Base
| | \-c:\php5\data\Base\design
| | |-c:\php5\data\Base\design\class_diagram.png
| | \-c:\php5\data\Base\design\design.txt
| |-c:\php5\data\ConsoleTools
| | \-c:\php5\data\ConsoleTools\design
| | |-c:\php5\data\ConsoleTools\design\class_diagram.png
| | |-c:\php5\data\ConsoleTools\design\console.png
| | |-c:\php5\data\ConsoleTools\design\console.xml
…
--tree를 사용한 exa 는 훌륭한 작업을 수행합니다.
exa --tree ~/tmp/public/
<dir>
├── aboutme
│ └── index.html
├── atrecurse
│ └── index.html
├── base.css
├── html5
│ ├── cat-and-mouse
│ └── frantic
│ ├── css
│ │ └── main.css
멋진 Python 스크립트 : http://code.activestate.com/recipes/217212/
Have a look at App::Asciio
참고URL : https://stackoverflow.com/questions/1581559/ascii-library-for-creating-pretty-directory-trees
반응형
'Programing' 카테고리의 다른 글
IE8에서 JavaScript 변수를 어떻게 덤프합니까? (0) | 2020.10.31 |
---|---|
iOS : 앱을 설치하는 동안 앱이 사용자의 권한을 요청하지 않습니다. (0) | 2020.10.31 |
반복자를 사용하는 방법? (0) | 2020.10.31 |
특정 접두사 / Mysqldump 와일드 카드가있는 테이블 만 Mysqldump? (0) | 2020.10.31 |
읽기 전용 파일은 어떻게 삭제합니까? (0) | 2020.10.31 |