Допустим, у меня есть git-репо, вывод которого с деревом:
.
├── .gitignore
├── untracked-file
├── rep1
│ └── tracked-file1
├── rep2
│ └── repb
│ └── tracked-file2
└── rep3
└── ignored-file
И .gitignore
с rep3/ignored-file
.
Вывод git ls-files
будет следующим:
rep1/tracked-file1
rep2/repb/tracked-file2
Как я могу иметь:
.
├── .gitignore
├── rep1
│ └── file1
└── rep2
└── repb
└── file2
Вместо?
Я думаю, что это хорошее начало:
tree -P <(git ls-files | tr '\n' '|')
Поскольку -P
означает только список, следующий за шаблоном, но я не знаю, как добавить скобки к этому.