Не превышайте -регулярное выражение:
$ csplit logfile '/^===/'
Это создает xx00
для первого раздела и xx01
для второго.
В качестве альтернативы, если у вас есть другие строки, начинающиеся с ===
, которые вы не хотите разбивать на:
$ csplit logfile '/^=== Output from/'
Чтобы заменить xx
другой фиксированной строкой, используйте-p
(строка не может быть взята из входных данных, к сожалению ).
Понятно. Файл сервисного модуля нуждается в опции StandardInput=socket, чтобы принимать данные из сокета. Полный файл должен выглядеть так:
# cat /etc/systemd/system/foo@.service
[Unit]
Description=Foo Service
After=network.target foo.socket
Requires=foo.socket
[Service]
Type=simple
ExecStart=/usr/local/bin/foo.sh
TimeoutStopSec=5
StandardInput=socket
[Install]
WantedBy=default.target