Добавьте возврат каретки к выводу 'хвоста' при использовании 'grep'

Сам процесс должен назвать setuid (2). Необходимо также исследовать выполнение его внутри chroot (8), если Вы уже не. Насколько я знаю, нет никакого пути к корню для изменения uid другого процесса.

Если бы причина, Вы выполняете его как корень, состоит в том, чтобы связать порты, я предложил бы выполнить его как обычный пользователь на более высоком порте и использующий ipfw (8) на OS X к порту передачи 80/443/etc к более высокому порту:

http://support.crashplanpro.com/doku.php/recipe/forward_port_443_to_pro_server_on_mac_osx

3
03.08.2011, 15:46
2 ответа

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

tail -f production.log |
awk '/Processing|compatible;|Completed in / {print; print ""}'

Добавить новую строку между всеми блоками непоследовательных согласующих отрезков длинной линии:

tail -f production.log |
awk '
/Processing|compatible;|Completed in / {
    if (NR == n+1) print "";
    n = NR;
    print;
}'
3
27.01.2020, 21:20

grep отфильтрует пустые строки, так как они не соответствуют никакому шаблону. В случае пустые разделители строки появляются в исходном файле, через который можно позволить им пройти, добавив -e "^$".

Если те пустые строки не присутствуют в исходном файле, необходимо будет добавить их. Это - пример того, как сделать это:

 tail -f production.log | grep -e … | sed 's/\(^Processing \)/\n\1/'

Править: если Вы хотите пустую строку после любого использования строки sed 's/$/\n/' вместо этого. И конечно можно добавить как многие \n как хотите.

1
27.01.2020, 21:20

Теги

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