Petla for przez wszystkie pliki w danym folderze

Petla for przez wszystkie pliki w danym folderze
wiatrak11
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam,

Jestem begginer w bash i linux. Napisalam maly skrypt do automatyzacji procesu obliczania Calculate.
Mam w folderze pts1 pliki : od 00.pts, 10.pts , ..., 90.pts.
Potrzebuje aby petla for przeszla przez wyszystkie pliki od 00 do 90.
Napisalam to w ponizszy sposob i dziala ok ale chcialabym zapytac o bardziej optymalne rowziazanie tego problemu ?
Nie ma moze w bash jakiegos innego polecenia zamiast
"for i in 0 1 2 3 4 5 6 7 8 9; " ?

ref_phase='pts1/60.pts'
pts1_dir='pts1'
midp_popi1='midp1'
mkdir out
mkdir log

Kopiuj
 
for i in 0 1 2 3 4 5 6 7 8 9;
do
#echo $i
#Calculate --ref $ref_phase -i $pts_dir/$i0.pts --vf midp/vf_midp_$i0.mhd --general out1/TRE_$i0.txt > out1/tre_log_$i0.txt 2>&1 --verbose 
echo $i
if [ $i == 0 ];
then
Calculate  --ref $ref_phase -i $pts1_dir/00.pts --vf $midp_popi1/vf_midp_00.mhd --general out/TRE_00.txt > log/tre_log1_00.txt 2>&1 --verbose
elif [ $i != 0 ];
then  
j=$(($i * 10))
echo $j
Calculate --ref $ref_phase -i $pts1_dir/$j.pts --vf $midp_popi1/vf_midp_$j.mhd --general out/TRE_$j.txt > log/tre_log1_$j.txt 2>&1 --verbose
fi
done

Bede wdzieczna za kazda pomoc prosze :)

Azarien
  • Rejestracja: dni
  • Ostatnio: dni
1
Kopiuj
for i in *.pts
wiatrak11
  • Rejestracja: dni
  • Ostatnio: dni
0

Dzieki za odp. Ale niestety w ten sposob nie dziala :/
test2.sh: line 21: .pts * 10: syntax error: operand expected (error token is ".pts * 10")

wiatrak11
  • Rejestracja: dni
  • Ostatnio: dni
0

A juz znalazlam wersje c++ dziala good :) : for ((i=0; $i<=9; i++));

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.