tree명령 없이 ls로 treeview로 보기(Treeview without tree command as ls)
개인적으로 tree 명령을 굉장히 자주 사용합니다. 다만 간혹, tree가 없는 환경에서 treeview로 보고 싶은 경우가 있는데, ls, grep, sed 3개를 이용하면 tree와 비슷한 형태의 출력을 얻어낼 수 있습니다.
ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'
- ls -R 옵션으로 하위 모든 파일을 출력
- pipe로 grep에 넘겨 directory만 뽑아냅니다. (Directory만 볼 경우)
- pipe로 sed로 넘겨 tree와 비슷하게 출력 포맷을 맞춰줍니다.
Directory
Command
ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'
Output
.
|-hbxss
|---app
|-----assets
|-------config
|-------images
|-------javascripts
|---------channels
|-------stylesheets
|-----channels
|-------application_cable
|-----controllers
....
Files
Command
ls -R | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'
Output
.
db_reset.txt
hbxss
LICENSE
README.md
update.rb
|-hbxss
app
bin
config
config.ru
db
Gemfile
Gemfile.lock
lib
log
package.json
public
Rakefile
README.md
test
tmp
vendor
|---app
assets
channels
...