Как использовать сортировку awk по столбцу 3
У меня есть файл (user.csv), подобный этому
ip,hostname,user,group,encryption,aduser,adattr
хотите распечатать все сортировки столбцов пользователем,
Я пробовал awk -F ":" '{print|"$3 sort -n"}' user.csv
, он не работает.
Ответы
Ответ 1
Как насчет только sort
.
sort -t, -nk3 user.csv
где
-
-t,
- определяет ваш разделитель как ,
.
-
-n
- дает вам численный вид. Добавлено так как вы добавили его в свой
попытка. Если ваше поле пользователя является текстовым, тогда вам это не нужно.
-
-k3
- определяет поле (ключ). пользователь является третьим полем.
Ответ 2
- Используйте awk для установки идентификатора пользователя.
- Сортировка
-
Используйте sed, чтобы удалить дублированный идентификатор пользователя, при условии, что идентификаторы пользователей не содержат пробелов.
awk -F, '{ print $3, $0 }' user.csv | sort | sed 's/^.* //'
Ответ 3
попробуйте это -
awk '{print $0|"sort -t',' -nk3 "}' user.csv
ИЛИ
sort -t',' -nk3 user.csv
Ответ 4
Вы можете выбрать разделитель, в этом случае я выбираю двоеточие и печатаю номер столбца один, сортируя по алфавиту.
awk -f\: '{print $1|"sort -u"}' /etc/passwd
Ответ 5
awk -F, '{ print $3, $0 }' user.csv | sort -nk2
и для обратного порядка
awk -F, '{ print $3, $0 }' user.csv | sort -nrk2