Ответ SiegeX лучше для этого конкретного случая, но необходимо также знать, как передать произвольный текст sed
.
sed
ожидает имена файлов как его секунду, третью, и т.д. параметры, и если это не находит имен файлов, это читает из своего стандартного входа. Таким образом, если у Вас есть текст, который Вы хотите обработать, это не находится в файле, необходимо передать его по каналу к sed
. Самый простой путь - это:
echo "blah blah" | sed 's/blah/blam/g'
Таким образом, Ваш пример стал бы:
LAT=$(echo "$LATLNG" | sed 's/(\(.*\),\(.*\))/\1/g')
LON=$(echo "$LATLNG" | sed 's/(\(.*\),\(.*\))/\2/g')
Если Вы думаете, что существует любой шанс это $LATLNG
мог начаться с тире, или если Вы хотите быть педантичными, необходимо использовать printf
вместо echo
:
printf '%s' "$LATLNG" | sed 's/foo/bar/g'
Или "здесь документ", но это может быть немного неловким с конструкцией, которую Вы используете:
LAT=$(sed 's/foo/bar/g' <<END
$LATLNG
END
)
Или если Вы используете bash
и не взволнованные по поводу мобильности, можно использовать "здесь строка":
sed 's/foo/bar/g' <<< "$LATLNG"
Я не имею rsnapshot
установите для тестирования этого на. Будьте осторожны.
Лично, я думаю, что лучшая вещь сделать состоит в том, чтобы тщательно оценить вывод rsnapshot -t interval
. Однако, если Вы хотите на самом деле переместить файлы, один способ сделать это мог бы состоять в том, чтобы создать альтернативный файл конфигурации, который идентичен Вашему реальному файлу конфигурации, но с другим snapshot_root
такой как:
snapshot_root /test/backup/path
И затем можно выполнить тестовое использование
rsnapshot -c rsnapshot.test.conf interval0
где interval0
Ваш интервал самый низкоуровневый.