Почему sort -k4nr и sort -k 4 - n -r дают разные результаты? [дубликат]

Как предполагают другие ответы. Вы можете использовать nohup &.

Вы также можете использовать экран , это (в основном) съемный терминал. Вы можете запустить терминал с помощью команды экрани когда вы хотите отсоединиться от него. Ctrl+ad. И чтобы снова подключить терминал, запустите screen -r . Если у вас более одного отсоединенного терминала, вы можете использовать команду screen -r, чтобы увидеть имена отсоединенных терминалов.

Screen — полноэкранный оконный менеджер, мультиплексирующий физический тер- minal между несколькими процессами (обычно интерактивными оболочками). Каждый виртуальный терминал обеспечивает функции терминала DEC VT100 и, в Кроме того, несколько функций управления из ISO 6429 (ECMA 48, ANSI X3.64) и стандарты ISO 2022 (например, вставка/удаление строки и поддержка несколько наборов символов). Имеется буфер истории прокрутки для каждый виртуальный терминал и механизм копирования и вставки, позволяющий перемещать текстовые области между окнами.

РЕДАКТИРОВАТЬ:

Вы также можете использовать tmux.Взгляните здесьдля получения информации об основах использования tmux.

tmux— терминальный мультиплексор. Что такое терминальный мультиплексор? Это позволяет легко переключаться между несколькими программами в одном терминале, отсоедините их (они продолжают работать в фоновом режиме) и присоедините их к другой терминал. И многое другое.

0
15.05.2018, 03:14
2 ответа
  1. Утилиты GNU часто имеют возможность анализировать одиночные -буквенные параметры как группу с одним дефисом -, так что -n -rтакже можно отправлять как -nr; это только в том случае, когда еще нет опции nr, за которую ее можно было бы принять.

  2. Использование -k 4 -n -rсообщает sort, что вы хотите отсортировать по полю 4, и вы хотите, чтобы каждая строка в файле была отсортирована в обратном порядке. После сортировки двух ключевых строк5-по их одинаковому значению ключа сортируется вся строка, как описано на справочной странице :

    .

    Finally, as a last resort when all keys compare equal, sort compares entire lines as if no ordering options other than --reverse (-r) were specified.

...поэтому Мария предстает перед Дельтой.

Когда вместо этого вы используете -k4nr, вы указываете sort использовать поле 4 и сортировать только это поле в обратном числовом порядке. Когда сортировка выполняется, сравнивая 5 с 5, она сортирует эти две (целые )строки в обычном словарном порядке (, так как здесь нет глобальной rобратной опции ), и поэтому Дельта предшествует Мэри.

2
28.01.2020, 02:32

В зависимости от команды можно сгруппировать параметры вместе. sortявляется одним из них, но он также может изменить вывод, о котором я расскажу ниже.

Это верно и дляrm

rm -rf directoryделает то же самое, что иrm -r -f directory

Что касается того, почему ваши две команды дают разные порядки, ваша первая команда сортирует, используя 4-й столбец в качестве ключа через -k 4, а затем переходит к числовой сортировке, а затем инвертирует ее. (На самом деле вам не нужен n, потому что 4-й столбец в любом случае содержит только числа, поэтому sort -k 4 -rдаст тот же результат ). Затем он сортирует остальные столбцы в обратном порядке.

Ваша вторая команда группирует их вместе, а затем работает, сортируя только 4-й столбец в обратном числовом порядке. Они оба имеют одинаковое значение ключа для 4-го столбца, поэтому он переходит к сортировке в алфавитном порядке для первых двух столбцов.

Если изменить эту строку:

Delta Cross 30 5

с

по

Zelta Cross 30 5

тогда строка, начинающаяся с Марии, будет первой для второй команды.

0
28.01.2020, 02:32

Теги

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