我正在一个项目上进行工作,该项目在远程文件与远程文件之间进行连接并对这些文件进行一些处理。虽然在拉动文件时,远程文件中有多个目录,所以拉动每个文件夹很费时间,所以有没有可以使用的命令在下面编写的脚本中,因此它可以自动提取文件夹中的所有文件。
#!/bin/bash
clear
ssh [email protected] 'ls SomeFolder/SomeSubFolder' > folders.txt
cat folders.txt
echo "Enter the folder name "
read folder_name
scp -r [email protected]:SomeFolder/SomeSubFolder/$folder_name/ $folder_name/
while IFS= read -r -d '' file; do
# single filename is in $file
python scanner_new.py /home/nsadmin/Kiran/bash_script_run_files/"$file"
done < <(find "$folder_name" -type f -print0)
rm -rf $folder_name
在这里,每次脚本要求输入folder_name时,以及当用户输入folder_name时,脚本都会转到远程并带来文件并执行一些操作。现在,第一次进入远程时会带来folders.txt file
。因此它包含所有文件夹名称python scanner.py $file_name
。因此使用这些名称作为参数传递给。
Folders.txt看起来像这样
2016_9_25
2016_9_26
2016_9_27
2016_9_28
2016_9_29
2016_9_30
2016_9_7
2016_9_9
您可以使用Python解析txt文件:
from os import path
def do_stuff_with_folder(folder_name):
folder_name = folder_name.strip()
script_name = path.join("/home/nsadmin/Kiran/bash_script_run_files/", folder_name)
if path.exists(folder_name):
print "Do stuff with folder %s" % folder_name
# do stuff with folder_name here
else:
print "Warning : %s not here" % folder_name
with open('folders.txt') as folder_names:
for folder_name in folder_names:
do_stuff_with_folder(folder_name)
循环现在在Python内部,您只需要调用上面的脚本即可:
python scanner_new.py
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句