Ich bin neu in der Codierung und versuche, durch Ordner zu durchlaufen, um eine bestimmte Datei (die gleiche Sache in jedem Ordner genannt) zu finden. Ich habe 3 Ordner (CONTROL, GROUP1 und GROUP2). Jeder Ordner enthält 2 Unterordner von den Ordnernamen (2 3 4 5 6 7). Jeder Unterordner enthält eine Datei mit dem Namen des Unterordners wie 2_diff.nii oder 3_diff.nii. Ich möchte, dass der Code in jeden Ordner geht Ordner, finde die Unterordner und führe dann eine Analyse der darin enthaltenen Datei durch Das Problem ist, dass mein Code anscheinend nach jedem Unterordner in jedem Hauptordner sucht und jeder Hauptordner nur 2 Unterordner von (2 3 4 5 6 7) würden Irgendwelche Tipps sehr geschätzt -. danke !!Iterieren durch Ordner für bestimmte Dateien in BASH
Folders=(CONTROL GROUP1 GROUP2)
SubFolders=(2 3 4 5 6 7)
data_source=/Users/sheena/Desktop/test/
for j in ${Folders[@]}; do
cd ${data_source}/${j}/
for i in ${SubFolders[@]}; do
fslroi ${i}_diff.nii ${i}_nodif 0 1 #I want to analyze the file <subfolder>_diff.nii and name the output as <subfolder>_nodif.nii
done
done
Hallo, vielen Dank für Ihre Antwort. Ich kannte den Continue-Befehl nicht, aber es funktionierte wunderbar! – Sheenas
Nun, da ich es anschaue, frage ich mich, warum ich das Offensichtliche nicht gemacht habe und die Befehlszeile 'fslroi' in den 'if'-Block gesetzt habe. Dann hätte ich das 'continue' nicht gebraucht. Wie auch immer, wenn es funktioniert, funktioniert es. – chw21