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