Я нашел это решение, используя sed
:
sed -n '/^[0-9]\{4\}\.[01][0-9]\.[0123][0-9]\./,${:a;N;$!ba;{s/\([0-9]\{4\}\.[01][0-9]\.[0123][0-9]\.\)/--------------\n\1/g;p}}'
Недостаток в том, что дата должна быть сопоставлена дважды. Возможно, есть другое (лучшее) решение.
Результат получается именно таким, как ожидается в вашем примере.
Просто показалось, что ssh
работает в фоновом режиме. На самом деле ssh
не смог подключиться и сразу же вышел, что заставило gzip
также немедленно выйти. Но поскольку код выхода конвейера является кодом выхода последней команды (, если set -o pipefail
не используется до ), команда выключения была выполнена.
Если вы хотите использовать ключ SSH, которого нет в файлах по умолчанию для соответствующего пользователя, вам нужно сообщить ssh
о файле ключа с опцией -i
:
ssh -i /home/user/.ssh/id_rsa root@192.168.x.x dd if=/dev/mmvblk0 bs=1M