Вы должны написать свой собственный небольшой сценарий оболочки для этого. Например, "myrsync" в вашем PATH держит:
#!/bin/bash
ok(){
if [ -t 0 ] &&
read -p "ok? $* ? " reply &&
[ "$reply" = y -o "$reply" = ok ]
then "$@"
fi
}
if [ -f .myrsync ]
then ok rsync $(<.myrsync)
else echo "no .myrsync here in $PWD"
fi
Здесь есть функция ok
, которая проверяет, что stdin является терминалом, затем спрашивает вас о найденной команде rsync и, если вы отвечаете "y", запускает ее.
Остальная часть сценария проверяет наличие файла .myrsync
и, если он найден, запускает функцию на его содержимом.
С базовыми регулярными выражениямиsedбудет интерпретировать +
буквально, для выполнения необходимой подстановки используйте *
квантификатор:
cat sedtest | sed 's/.*relvir$/1.2.3.4 relvir/'
Чтобы продолжить обработку +
в качестве квантификатора, используйте расширенные регулярные выражения применяя параметр -E
:
cat sedtest | sed -E 's/.+relvir$/1.2.3.4 relvir/'
Думаю, это то, что вы ищете
cat sedtest | sed 's/.\+relvir$/1.2.3.4 relvir/'