Bash脚本在文件夹中的所有文件上执行python包

时间:2014-09-10 13:11:16

标签: python bash for-loop all-files

我正在尝试从PuTTY运行一个名为mETL的python包,并将其用于文件夹中包含的所有文件中。 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

每个文件的所有数据都已正确上传或更新,并且pickle文件也会相应更新。

但是我没有手动执行此操作,而是想为我的' 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 个答案:

答案 0 :(得分:1)

试试这个

for x in folder_test/*
do
metl -m migration.pickle -t new_migration.pickle -s "${x}" config3.yml
done