haproxy SSL Load Balancer пустой ответ

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

awk -F '\t' -v OFS='\t' '{ $1 = sprintf("(%s)", $1) } 1' file

Это модифицирует первое поле, а затем выводит повторно -сформированную строку с измененным полем. 1в конце вызывает вывод и может быть заменен на { print }.

Ваш код делает что-то подобное, но вы используете $0, то есть содержимое всей строки , а не только первого поля.

Вы также можете использовать sed, чтобы оставить остальную часть строки нетронутой:

sed -E 's/^([^[:blank:]]+)/(\1)/' file

Это соответствует любой не-пустой строке символов в самом начале строки и заменяет их той же строкой символов в круглых скобках.

Другой вариант с sed, который сначала вставляет (в начале строки, а затем вставляет )перед первым пустым символом («пустой» символ означает пробел или табуляцию):

sed -E -e 's/^/(/' -e 's/([[:blank:]])/)\1/' file

Решение awkявляется более гибким, так как позволяет легко изменять любое поле в строке, но решения sedпозволяют сохранить разделители, которые есть в исходном файле., будь то несколько пробелов или вкладок. Я включил сюда sedрешения только потому, что вы хотели изменить первое поле в строке, а это поле легко (найти с помощью )программы sed.

0
16.09.2020, 22:03
1 ответ

path_begотсутствует в mode tcp. См., например,https://serverfault.com/questions/736694/how-to-select-different-backend-based-on-uri-when-using-mode-tcp

0
18.03.2021, 23:04

Теги

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