Как я могу удалить удаленный файл для чтения параметров в BASH?

Как я могу удалить удаленный файл? Где он работает только для локального файла.

#!/bin/bash
regex='url=(.*)'
# for i in $(cat /var/tmp/localfileworks.txt);
for i in $(cat http://localhost/1/downloads.txt);
do
        echo $i;
        # if [[ $i =~ $regex ]]; then
        #echo ${BASH_REMATCH[1]}
        #fi
done

cat: http://localhost/1/downloads.txt: Нет такого файла или каталога

Ответ 1

Вместо cat, который читает файл из файловой системы, используйте wget -O- -q, который читает документ по HTTP и записывает его в стандартный вывод:

for i in $(wget -O- -q http://localhost/1/downloads.txt)

(Опция -O... означает "запись в указанный файл", где - - стандартный вывод, параметр -q означает "тихий" и отключает много протоколирования, которое в противном случае переходит к стандартной ошибке.)

Ответ 2

Вы можете использовать curl:

curl http://localhost/1/downloads.txt

Ответ 3

Почему вы используете URL-адрес для копирования с локальной машины? Не можете ли вы просто кататься прямо из файла?

Если вы выполняете это с удаленного компьютера, а не с localhost, то насколько я знаю, вы не можете передать URL-адрес cat.

Я бы попробовал что-то вроде этого:

scp [email protected]:/filepath/downloads.txt /dev/stdout

Как уже упоминалось, вы можете использовать wget вместо scp.