от скриншот программы GParted,ОС Windows был случайно удален(нет раздела NTFS). Вы никогда не имеют больше уровней, чем это? Ваш весь XML-файл всегда один уровень с внешней этикеткой заголовок таблицы? Так много достичь нирваны, не достигнув капот Будды. Это хорошая идея? @Castaglia нет брандмауэр/роутер/Нат другой, чем я настроена напротив моего сервера (как я знаю, может мой провайдер как то на машине в моем доме и не в центре обработки данных?). Локальной сети или с локального FTP-сессии отлично работает в пассивном режиме получает ответ и данные передаются без проблем.

Есть причина, почему интернет полон альтернативных подходов. Я не могу думать о любой ситуации, где вы были бы вынуждены использовать Bash для этого. Почему бы не использовать один из инструментов, предназначенных для работы?

В любом случае, насколько я знаю, нет никакого способа ведения нежадный играм с использованием =~ оператора. Потому что это не использовать bash внутренних регулярное выражение двигателя, но системы с одним, как определено в Человек 3 регулярных выражений. Это объясняется в человеке Баш:

 Дополнительный бинарный оператор =~, доступно, с тем же стоимость обслуживания минимальная‐
 мость а == и !=. Когда он используется, строке справа от
 оператор является расширенное регулярное выражение и соответствием
 соответственно (как в выражение(3)). 

Вы можете, однако, делать более или менее то, что вы хотите (имея в виду, что это действительно не хороший способ разбора HTML-файлы) с несколько разных регулярных выражений:

строка='<промежуток класс="круг"> на </span>фу</пролет></пролет>'
для regex='<промежуток класс="круг"> на </span>([^<]+)</пядь>'
[[ $строки =~ $выражение ]]; 
Эхо "${BASH_REMATCH[1]}"

Выше будет возвращать фу , как ожидалось.