Анализ сценария Linux Bash с неизвестным выводом с известным разделителем

В эти выходные я написал logrotee . Я, вероятно, не стал бы, если бы прочитал отличный ответ @JdeBP оmultilog.

Я сосредоточился на том, чтобы он был легким и мог сжимать в формате bzip2 свои выходные фрагменты, такие как:

verbosecommand | logrotee \
  --compress "bzip2 {}" --compress-suffix.bz2 \
  /var/log/verbosecommand.log

Однако многое еще предстоит сделать и протестировать.

0
04.08.2019, 03:30
1 ответ
$ sed -n -e 's/^.*server: //p' oracle-sid.txt
XE,XEXDB

В совпадающих строках скрипт sedудаляет все от начала строки до "server :" (, включая конечный пробел ), а затем печатает измененную строку. Строки, не соответствующие -, игнорируются (, т.е. не печатаются ).

Если вы хотите сохранить IP-адрес и порт:

$ sed -e -e 's/^.* \([0-9.:]\+\) server: /\1\t/p' oracle-sid.txt
10.10.10.82:1521        XE,XEXDB

Это будет делать то же самое, что и первая версия, но включает порт IP :и символ TAB.

1
28.01.2020, 02:39

Теги

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