2015-11-28 2 views
0

Мне нужно сделать сценарий оболочки, который содержит некоторый параметр над файлами в каталоге.Linux Script, для файлов каталога

Я использую что-то вроде

for f in *.tmp 
do 
     echo $f 
     sleep 5 
done 

Моя проблема заключается в том, что во время исполнения для, количество файлов в каталоге может измениться. И применяется только в файлах, перечисленных во время первого выполнения.

Любые идеи ?? Спасибо большое!

ответ

1

Вы можете хранить файлы в массиве

files=(*.tmp) 

Затем использовать бесконечное во время цикла, и вспыхивают при выполнении условия:

i=0 
while true; do 
    do_something with "${files[i]}" 
    current_files=(*.tmp) 
    magic_handwaving -- some code to compare "files" with "current_files" \ 
     that will append new files to "files" 
    ((++i == ${#files[@]})) && break 
done 
echo all files processed 
+0

хорошая идея Спасибо! – theholy

Смежные вопросы