У одного клиента произошел сбой с сообщением «Срок действия сертификата истек», в то время как другие клиенты работают нормально

Попробуйте:

awk '{x=x $0 ORS}; END{printf "%s", $0 ORS x}'

Пример

Определить переменную с помощью нашего ввода:

$ input="line 1
> line 2
> line 3"

Запускаем нашу команду:

$ echo "$input" | awk '{x=x $0 ORS}; END{printf "%s", $0 ORS x}'
line 3
line 1
line 2
line 3

В качестве альтернативы, конечно, мы могли бы использовать здесь -doc:

$ cat <<EOS | awk '{x=x $0 ORS}; END{printf "%s", $0 ORS x}'
line 1
line 2
line 3
EOS
line 3
line 1
line 2
line 3

Как это работает

  • x=x $0 ORS

    Это добавляет каждую строку ввода к переменной x.

    В awk ORS— это разделитель выходных записей . По умолчанию это символ новой строки.

  • END{printf "%s", $0 ORS x}

    После того, как мы прочитали весь файл, выводится последняя строка $0, за которой следует содержимое всего файла x.

Так как это считывает весь ввод в память, это не подходит для больших (, например. гигабайт )входных данных.

2
31.05.2020, 18:15
0 ответов

Теги

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