используйте - строчная буферизация
включите grep
tail -3f logfile.log | grep --line-buffered "action.*add" | sed -u -e "s/^/'/" -e "s/$/'/" | xargs -L 1 -P 5 bash testscript.sh
от man grep:
- строчная буферизация Использовать строчную буферизацию при выводе. Это может привести к снижению производительности.
или вы можете использовать stdbuf
подробнее
stdbuf позволяет изменять операции буферизации трех стандартных потоков ввода-вывода, связанных с программой. Сводка:
используйте этот синтаксис:
... | stdbuf -oL grep ... | ...
ваш пример:
tail -3f logfile.log | stdbuf -oL grep "action.*add" | sed -u -e "s/^/'/" -e "s/$/'/" | xargs -L 1 -P 5 bash testscript.sh
Ключом здесь оказалась переменная окружения PKG_CONFIG_PATH
. Она была пуста в стандартной сессии shell на моей системе.
Похоже, существует множество каталогов с pkgconfig
в названии, но чтобы найти нужный, я смог использовать apt-file согласно этой теме, т.е.
$ apt-file search fontconfig.pc
libfontconfig1-dev: /usr/lib/x86_64-linux-gnu/pkgconfig/fontconfig.pc
Then run
export PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig
И теперь шаг ./configure
может найти файл .pc
, который требуется для этой библиотеки. Изучение apt-файла
кажется полезным результатом этой проблемы.
У меня Ubuntu 16.04 LTS 64 -бит. Я получил эту ошибку при компиляции игры NAEV, и я просмотрел ответы, перечисленные здесь.
Я искал fontconfig.pc
, он был найден, и я установил PKG_CONFIG_PATH
на правильный путь, но безрезультатно.
libfontconfig1-dev
фактически был указан как установленный.
Посмотрев на другие сайты, я, тем не менее, повторно -запустил sudo apt-get install libfontconfig-dev
, чтобы убедиться, что он сказал мне, что действительно установит libfontconfig1-dev
, поэтому я подтвердил. Затем я отключил PKG_CONFIG_PATH
, чтобы проверить исходную конфигурацию, и запустил ./configure
:, все заработало.
Итак, мой ответ на такие ошибки следующий:даже если ваша система говорит, что отсутствующий пакет установлен, и находит файл pc
, переустановите его по книге, может быть сбой где-то, переустановка может исправить..