Не удается направить стандартный вывод сценария Python, работающего в фоновом режиме, в файл

Использованиеawk:

Код:

awk -F, 'FNR==NR{a[$1]=1;next} !a[$9] {print}' vin_file data_file

И, как было предложено в комментариях, более эффективный способ памяти:

awk -F, 'FNR==NR{a[$1];next} (!($9 in a))' vin_file data_file

Как:

  1. Установите разделитель полей на,
  2. Когда FNR=NRобрабатывается первый файл. В этом случае прочитайте номер vin в ассоциативе со значением 1. Затем next, чтобы пропустить остальную часть кода

  3. Для всех файлов после первого, если запись номер 9 (вин )отсутствует в ассоциативном массиве то вывести строку.

0
06.08.2019, 15:48
1 ответ

Вывод python буферизуется по умолчанию, вы должны использовать параметр " -u", чтобы избежать буферизации. Так что это должно сработать:

/usr/bin/python3 -u /home/pi/myscript.py >> /var/www/html/log.log &
1
21.04.2021, 22:20

Теги

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