По убыванию
Я хочу отсортировать файл с ограниченным доступом в порядке убывания в соответствии с 5-м полем записей.
Я пробовал
sort -r -k5n filename
Но это не сработало.
Ответы
Ответ 1
Наличие опции n
, привязанной к -k5
, приводит к тому, что глобальное значение -r
игнорируется для этого поля. Вы должны указать как n
, так и r
на том же уровне (глобально или локально).
sort -t $'\t' -k5,5rn
или
sort -rn -t $'\t' -k5,5
Ответ 2
Если вы хотите сортировать только на 5-м поле, используйте -k5,5
.
Кроме того, используйте переключатель командной строки -t
, чтобы указать разделитель на tab
. Попробуйте следующее:
sort -k5,5 -r -n -t \t filename
или если вышеуказанное не работает (с tab
):
sort -k5,5 -r -n -t $'\t' filename
справочная страница для сортировки:
-t, --field-separator = SEP используйте SEP вместо незаполненного пробела.
Наконец, этот вопрос SO Unix Sort with Tab Delimiter может оказаться полезным.
Ответ 3
Перечислить файлы на основе размера в порядке добавления.
find ./ -size +1000M -exec ls -tlrh {} \; |awk -F" " '{print $5,$9}' | sort -n\