디렉터리 트리를 생성하는 데 필요한 스크립트를 작성 중입니다.
tree
무시할 디렉터리 목록과 함께 변수를 전달하는 방법은 무엇입니까 ? 이러한 디렉터리에는 이름에 공백이 있습니다.
나는 다음과 같은 것을 시도했습니다 :
tree -o /volume1/web/eb.html -T "List" --charset UTF-8 -C -I "$to_ignore" -P '*pdf' --prune --noreport /volume1/docs
to_ignore
스크립트에 의해 다른 곳에서 생성된 디렉토리 목록이 있습니다 .
'dir1|dir2|dir with space|dir4'
그러나 그것은 작동하지 않았습니다. 공백이 있는 디렉토리에서는 충돌이 발생합니다.
좋아, 변수 주위에 따옴표를 사용하면 충돌이 발생하는 데 도움이 되지만 tree
pdf 파일이 필요한 디렉토리도 인쇄되어 목록에서 무시됩니다. 명령에서 직접 무시할 디렉터리를 작성하면 이상하게 tree ...
도 잘 작동합니다.
답변1
변수를 인용하세요:
$ tree foo
foo
├── bar foo
│ └── blah
├── baz
│ └── blah
├── foo
├── foo bar
│ └── blah
└── yada
8 directories, 0 files
$ to_ignore='yada|bar foo|baz'
$ tree foo -I "$to_ignore"
foo
├── foo
└── foo bar
└── blah
3 directories, 0 files