Bash-скрипт для запуска пакета python для всех файлов в папке

Я пытаюсь запустить пакет python с именем mETL из PuTTY и использовать его во всех файлах, содержащихся в папке. Пакет python - это mETL, и я использую его для загрузки данных, содержащихся в 3 файлах.csv с именами upload-A.csv, upload-B.csv и upload-C.csv.

Все работает отлично, когда я делаю этот процесс вручную, используя следующие команды:

metl -m migration.pickle -t new_migration.pickle -s folder_test/upload-A.csv config3.yml
metl -m migration.pickle -t new_migration.pickle -s folder_test/upload-B.csv config3.yml
metl -m migration.pickle -t new_migration.pickle -s folder_test/upload-C.csv config3.yml

Все данные из каждого файла корректно загружаются или обновляются, а файлы маринованных файлов обновляются соответствующим образом.

Но вместо того, чтобы делать это вручную, я хочу сделать цикл, который делает это для всех файлов, содержащихся в моей папке 'folder_test/', для чего я попробовал следующий скрипт Bash:

folder_var=folder_test
for x in $folder_var
do
metl -m migration.pickle -t new_migration.pickle -s $x config3.yml
done

После этого файлы pickle создаются, но данные не загружаются в базу данных.

1 ответ

Решение

Попробуй это

for x in folder_test/*
do
metl -m migration.pickle -t new_migration.pickle -s "${x}" config3.yml
done
Другие вопросы по тегам