sshfs
построен на ssh
, который, в свою очередь, использует TCP. Вы не можете переместить конечную точку с TCP-соединением и ожидать, что она выживет.
Вы могли бы наложить его поверх протокола на основе UDP, что может помочь с изменением IP-адреса, но это все равно не поможет с потерей подключения, замораживающей вашу точку монтирования.
sed -i backup -E '/<update>/s/[0-9]{4}-[0-9]{2}-[0-9]{2}/2019-06-30/;/<version>/s/[0-9]\.[0-9]{1,2}/1.28/' *
-i backup
означает редактировать файлы на своих местах, но сохранить резервную копию файла с расширением backup
. Вы можете удалить их, если команда сделала то, что вы ожидали. Если он сделал что-то еще, вы будете счастливы иметь резервные копии! -E
для расширенных регулярных выражений. Делает скрипт более читабельным, потому что вам не нужно экранировать{}
/<update>/
выполните s/[0-9]{4}-[0-9]{2}-[0-9]{2}/2019-06-30/
, который заменяет строку даты ####-##-##
заданной датой /<version>/
выполните s/[0-9]\.[0-9]{1,2}/1.28/
, который заменяет строку версии #.#
или #.##
на заданную версию Если вы не против ввести две команды, вы можете использовать:
sed -i 's/\<update\>2013-02-10\<\/update\>/2019-06-30\<\/update\>/g' *
sed -i 's/\<version\>1.15/1.28\<\/version\>/g' *
В домашнем каталоге, где находятся файлы.
В качестве альтернативы, если вы хотите, чтобы он выполнялся рекурсивно:
find./ -type f -exec sed -i 's/\<update\>2013-02-10/2019-06-30\<\/update\>/' {} \;
find./ -type f -exec sed -i 's/\<version\>1.15/1.28\<\/version\>/' {} \;