Как я могу проверить, совпадают ли выходные строки файла tail с несколькими файлами в командной строке на основе Unix? - PullRequest
0 голосов
/ 26 августа 2018

Я часто использую эту команду для добавления одной и той же строки конфигурации в несколько файлов конфигурации.

>echo "delete.topic.enable = true" >> ./config/server*.properties

В этой ситуации, как проверить, правильно ли я добавляю одинаковые строки в несколько файлов?

> tail -1 config/server*.properties
==> config/server-one.properties <==
delete.topic.enable = true

==> config/server-two.properties <==
delete.topic.enable = true

==> config/server.properties <==
delete.topic.enable = true

Я вижу результат с помощью этой команды.Но это заставляет меня сравнивать результаты вручную и усложнять, когда длина строки больше.

Я хочу, чтобы результаты "tail -1 * .properties" равнялись одной команде.Я хочу видеть только результат "true" или "false".

Как я могу сделать это в командной строке в unix-подобной системе?

1 Ответ

0 голосов
/ 26 августа 2018
tail -q -n 1 config/server*.properties |
awk 'NR>1 && $1!=prev{multi=1; exit} {prev=$1} END{print multi+0; exit multi}'

Приведенный выше выводит 0 и завершается со статусом 0 (успех), если каждая строка, выведенная на tail, идентична любой другой строке, 1 в противном случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...