Как я могу использовать & ldquo; sort & rdquo; команда в определенном поле?

Зависит от аутентификации пользователей. Это может быть против / etc / passwd, внешней базы данных, внутренней базы данных или даже LDAP.

Если это / etc / passwd - тогда вам нужно просто воссоздать пользователей и скопировать хэши из / etc / shadow на сервере A на сервер B.

Внешняя / внутренняя БД - просто переместите данные.

LDAP - я действительно не думаю, что вы используете этот;)

1
задан 13 January 2018 в 00:39

2 ответа

sort -t '/' -k 7 -n your_input_file

Объяснение:

-t '/' определяет '/', поскольку разделитель полей -k 7 принимает 7-е поле в качестве критериев сортировки (пустое поле перед первым " / 'также должен быть подсчитан) -n указывает числовую сортировку.

Если вы хотите сохранить порядок входного файла для всех строк, где 7-е поле равно, вы можете добавить (и затем удалить) номер строки в качестве второго поля сортировки:

nl -n rz your_input_file | sort -n -k 7 -k 1 -t '/' | sed 's/^[0-9]*\t//'

Объяснение:

-t '/' определяет '/' как разделитель полей Команда sort сортирует по седьмому полю, а затем номер строки -k 7 принимает 7-е поле в качестве критериев сортировки (пустое поле перед первым «/» также должно быть подсчитано)
2
ответ дан 17 July 2018 в 23:16

sort -t '/' -k 7 -n your_input_file

Объяснение:

-t '/' определяет '/', поскольку разделитель полей -k 7 принимает 7-е поле в качестве критериев сортировки (пустое поле перед первым " / 'также должен быть подсчитан) -n указывает числовую сортировку.

Если вы хотите сохранить порядок входного файла для всех строк, где 7-е поле равно, вы можете добавить (и затем удалить) номер строки в качестве второго поля сортировки:

nl -n rz your_input_file | sort -n -k 7 -k 1 -t '/' | sed 's/^[0-9]*\t//'

Объяснение:

-t '/' определяет '/' как разделитель полей Команда sort сортирует по седьмому полю, а затем номер строки -k 7 принимает 7-е поле в качестве критериев сортировки (пустое поле перед первым «/» также должно быть подсчитано)
2
ответ дан 24 July 2018 в 13:48
  • 1
    Он работал в приведенном выше примере, но если мы обмениваем линию 3 на строку 1, порядок следует за числовым значением координат, а не с номером строки. – deepblue 12 January 2018 в 11:57
  • 2
    Я отредактировал свой ответ выше, так что только поле # 7 используется для сортировки. – muclux 12 January 2018 в 12:07
  • 3
    результат все тот же. Ты пробовал? – deepblue 12 January 2018 в 12:10
  • 4
    -s для стабильного сортировки должны хранить идентичные ключи в порядке ввода, но это трудно сказать из документов. – ubfan1 13 January 2018 в 02:06
  • 5
    @ ubfan1 info coreutils 'sort invocation' имеет более четкое представление: The `--stable' (`-s') option disables this "last-resort comparison" so that lines in which all fields compare equal are left in their original relative order. – wjandrea 13 January 2018 в 02:15

Другие вопросы по тегам:

Похожие вопросы: