Вы уверены, что у вас есть abc_backups
в корне вашей файловой системы? Я действительно сомневаюсь в этом (и даже если вы это сделали, это не очень хорошая практика). Также backup
принимает 2 аргумента, а не один, как в вашем примере. Сначала источник (то, что вы делаете резервную копию), а затем место назначения.
В соответствии с вашим описанием измените строку backup
следующим образом:
резервный (скрытый) веб-сайт /
(который затем создаст резервную копию сервера веб-сайта 1.2.3.4 в папке / abc_backups / website /
)
В случае сомнений вы всегда можете запустить rsnapshot
с помощью -t
, чтобы увидеть, какие команды он будет выполнять (не выполняя их на самом деле)
Если у вас GNU coreutils ≥ 7.0, вы можете использовать сортировку по версиям. Это лексикографический порядок, за исключением того, что последовательности цифр упорядочены в соответствии с их значением как целое число в десятичной системе счисления.
sort -V
Этот конкретный стиль ввода может быть успешно отсортирован с помощью
sort -t - -nk2,2
но он не очень подходит для всех видов имен файлов, если это то, что вы ищете.
Предполагая, что что угодно в вашем тексте может меняться, вам нужно использовать sort
со следующими опциями:
-t, --field-separator=SEP использовать SEP вместо перехода от непустого к пустому
k, --key=POS1[,POS2] начинать ключ в POS1 (начало 1), заканчивать в POS2 (по умолчанию конец строки)
-V, --version-sort естественная сортировка (версий) номеров в тексте
sort -t "-" -k 2 -V < [filename]
sort -t- -k2n file
whatever-1.example.org
whatever-2.example.org
whatever-3.example.org
whatever-4.example.org
whatever-5.example.org
whatever-6.example.org
whatever-7.example.org
whatever-8.example.org
whatever-9.example.org
whatever-10.example.org
whatever-11.example.org
whatever-12.example.org
whatever-13.example.org
Извините, я не дал всей необходимой информации в своем первоначальном вопросе. Все ответы были полезны для меня, чтобы прийти к тому, что я действительно хотел. В итоге я использовал следующее:
sort -t- -k1,1 -k2,2
где:
-t- divide the hostnames into fields using dash (-) rather than spaces
-k1,1 the first sort key is the first field (from 1 to 1), a normal sort
-k2,2 the second key is the second field using a numeric (n) sort
(the field includes the ".example.org" but the numeric sort
seems to cope find with the trailing non-number chars)
это дает результат:
blargh-1.example.org
:
blargh-13.example.org
thingaroo-1.example.org
:
thingaroo-17.example.org
whatever-1.example.org
:
whatever-13.example.org