명령을 사용하여 디렉토리의 하위 디렉토리를 나열하고 싶습니다 tree
. 하지만 들여쓰기 줄을 인쇄하고 싶지 않습니다. 그냥 공백으로 바꾸고 싶습니다.
매뉴얼 페이지에서 올바른 매개변수를 찾을 수 없습니다. 아마도 출력을 파이프하여 이 줄을 제거할 수 있을 것 tree
입니다 sed
.
답변1
그래서 당신은 다음과 같은 것을 원합니다 :
tree | sed 's/├\|─\|│\|└/ /g'
이러한 "줄" 문자를 모두 공백으로 바꿉니다.
바라보다:
$ tree
.
├── dir1
│ ├── file1
│ └── file2
└── dir2
├── file1
└── file2
2 directories, 4 files
$ tree | sed 's/├\|─\|│\|└/ /g'
.
dir1
file1
file2
dir2
file1
file2
2 directories, 4 files
답변2
효과가있다:
tree | sed -e 's/[├──└│]/ /g'
답변3
들여쓰기를 표시하지 않으려면 명령 -i
에 플래그를 추가 하면 됩니다 . tree
sed로 파이프하는 것보다 조금 더 간단합니다!
답변4
또 다른 ( sed
무료) 방법은
tree | iconv -f utf8 -c -t latin1 | tr '\240' ' '
여기서는 출력을 utf8에서 latin1로 변환합니다(예: ISO-8859-1, ASCII도 옵션이지만 일부 "움라우트"를 유지하고 싶습니다). 옵션 -c
"iconv
변환할 수 없는 문자를 자동으로 삭제". 마지막으로 잘림 방지 공백을 제거했습니다. 이는 귀하와 관련이 없을 수도 있습니다.
경고하다: UTF-8로 인코딩된 문자를 대상 인코딩으로 변환할 수 없으면 손실됩니다.