Разбор ls --help
, это кажется проще. Использование grep
с PCRE (-P
), не включая длинные опции, например. --all
:
ls --help | grep -Po '^\s+\K-[^,\s](?=,|\s)'
Разбор man ls
даст тот же результат:
man ls | grep -Po '^\s+\K-[^,\s](?=,|\s)'
Пример:
Разбор ls --help
:
% ls --help | grep -Po '^\s+\K-[^,\s](?=,|\s)'
-a
-A
-b
-B
-c
-C
-d
-D
-f
-F
-g
-G
-h
-H
-i
-I
-k
-l
-L
-m
-n
-N
-o
-p
-q
-Q
-r
-R
-s
-S
-t
-T
-u
-U
-v
-w
-x
-X
-Z
-1
Разбор man ls
:
% man ls | grep -Po '^\s+\K-[^,\s](?=,|\s)'
-a
-A
-b
-B
-c
-C
-d
-D
-f
-F
-g
-G
-h
-H
-i
-I
-k
-l
-L
-m
-n
-N
-o
-p
-q
-Q
-r
-R
-s
-S
-t
-T
-u
-U
-v
-w
-x
-X
-Z
-1
В данном случае это невозможно. :Сначала просматривается IP-адрес доменных имен, и если оба a.dom.com
и b.dom.com
сопоставляются с одним и тем же IP-адресом, пакеты, поступающие на обратный прокси-сервер, будут быть идентичными, поэтому нет возможности сопоставить их с разными портами.
Если бы у доменов были разные IP-адреса, и у вас был бы один обратный прокси-сервер, отвечающий на все эти IP-адреса, можно было бы (погуглить "переадресацию портов" ).
Если все, что вам нужно, это упростить доступ к службам через ssh
, я предлагаю вместо этого отредактировать файлы ssh_config
с такими записями:
Host a
HostName a.dom.com
Port 2022
Затем вы можете просто выполнить ssh a
, и он автоматически выберет правильный порт. Вы даже можете добавить строку User fhuertas
, если вам нужно другое имя пользователя.