В awk:
awk '
$1 == "secondmatch" {print_me = 0}
print_me {print}
$1 == "firstmatch {print_me = 1}
'
Я вызвал сомнение, когда Вы сказали "svnsync, синхронизация не принимает опций указать вход в систему", таким образом, я проверил документацию, и угадайте то, что, это делает:
--source-password
--source-username
--sync-password
--sync-username
Те опции должны состоять достаточно в том, чтобы Вы вернулись к простому сценарию крона.
Назад в случай, где Вы действительно не можете указать такие опции, все еще легко записать сценарий обертки, который отправляет данные в stdin программы. Например, следующее может работать (где program
программа Вы бледный для выполнения, и text
файл, где Вы храните текст, который будет отправлен в программу):
program < text
Однако для аутентификации, программы часто пишутся в готовый от tty
а не от stdin
(из соображений безопасности). Я не знаком с ним, но можно все еще создать поддельный терминал в этом случае. Это то, где expect
входит в употребление.
Кроме этого означает вставлять пароли, ясные в некотором сценарии.
Не очень хорошая идея.
Разве svnsync не имеет опций для ssh ключей?
Два аналогичных решения:
expect
(как дано другими ответами), который требует TCL.pexpect
, записанный в чистом Python.