Из документации man file
вам потребуется изменить команду file, чтобы использовать опцию --no-pad
для этого решения для правильного форматирования выходного пробела.
Команда file передана в awk, поэтому мы можем указать разделитель полей, а затем повернуть поля и просто отсортировать их по конвейеру. См. Schwartzian_transform
file --no-pad * | awk -F ':' '{print $2": "$1}' | sort
Здесь используются все встроенные функции и не требуются внешние программы.
Если вы предпочитаете сохранить кодировки в правом столбце опцию -k
можно использовать в другом решении, предоставленном @ Bayou.
Согласно комментарию Bayou, вы можете отсортировать это внутри awk без дополнительной трубы, но это также делает не позволяет вам использовать такие вещи, как uniq
.
file --no-pad * | awk -F ':' '{print $2": "$1|"sort"}'
Например, но, опять же, вы можете использовать awk более надежными способами:
file --no-pad * | awk -F ':' '{print $2": "$1}' | sort | uniq