Ответ 1
git ls-tree -r HEAD --name-only | perl -ne 'print $1 if m/\.([^.\/]+)$/' | sort -u
Когда вы объявляете его как псевдоним, вам нужно выйти $1
:
alias gitFileExtensions="git ls-tree -r HEAD --name-only | perl -ne 'print \$1 if m/\.([^.\/]+)$/' | sort -u"
Это лучше наивного find
, потому что:
- исключает неиспользуемые (gitignored) файлы
- он исключает каталог
.git
, который содержит обычно сотни/тысячи файлов и, следовательно, замедляет поиск
(вдохновленный Как я могу найти все отдельные расширения файлов в иерархии папок?)