sort -k 1.2bn < file
Сортировка n
численно на k
ey, начиная с 2
и ] в поле 1
st , игнорируя ведущие b
символы (и заканчиваясь в конце строки, но это не имеет значения для числовой сортировки, которая учитывает только начальная последовательность десятичных цифр).
Обратите внимание, что если есть связь, например, между этими двумя строками:
F91HE*-K92HA 7.242 3.910 4.88e+04 --
F91HE*-F91HZ 7.237 7.122 7.85e+05 --
Тогда порядок будет основан на последней возможности сортировки, которая сравнивает две строки полностью как строки.
Для некоторых локалей пробелы будут игнорироваться в первую очередь при сравнении строк, и в этом случае строка F91 будет стоять перед K92 (поскольку F
сортирует перед K
). С другими, как в локали C, пробелы не будут игнорироваться, и тогда K92 будет стоять перед F91 (пробел сортируется перед F
).
Для сортировки в крайнем случае, которая будет игнорировать начальные пробелы независимо от локали, вы можете сделать:
sort -k 1.2bn -k 1b < file
That 1b
можно будет сортировать (при наличии связей на первом ключе) лексически по разделу строка, которая начинается с первого поля, игнорируя начальные пробелы.
Вам нужен вариант -N
. Из справочной страницы SSH:
-N Do not execute a remote command. This is useful for just for‐ warding ports.
Ваша полная команда будет:
/usr/bin/autossh -M 22222 -f -N -o "PubkeyAuthentication=yes" -o "PasswordAuthentication=no" -i /path/to/my/key.key -R pppp:localhost:22 user@server
Это то, что я успешно использую (с cron @reboot
).
Замените pppp:
на локальный порт, который вы хотите использовать.