Создавайте каталоги и загружайте файлы, читая входные данные из файла
cat paste_output.txt | while read -r file_name path_name file;
do mkdir -p -- "$path_name";
wget "$file_name";
mv "$file" "$path_name";
done;
Привет! У меня есть этот кусок кода, который читает поле за полем из указанного файла. Здесь я пытаюсь создать каталог, указанный во втором поле, а затем загружаю файл, указанный в первом поле, и после загрузки этого файла я помещаю этот файл в каталог, указанный во втором поле.
Вывод: Я получаю желаемую структуру каталогов и загруженные файлы, однако файлы загружаются в каталог, из которого выполняются команды.
Как переместить файлы в нужные каталоги?
1 ответ
Решение
Вы можете использовать -P
флаг wget
положить файл в целевой каталог. Если каталог не существует, он создаст его, так что это также позволит вам сэкономить на mkdir
,
while read -r file_name path_name file; do
wget -P "$path_name" "$file_name"
done < paste_output.txt
Я сделал некоторые другие улучшения в сценарии:
cat
бесполезно, лучше перенаправление ввода- Точки с запятой в конце строк не нужны
- Для удобства чтения полезно сделать отступ для тела цикла