Ho diviso un grande file di testo in un numero di insiemi di quelli più piccoli per il test delle prestazioni che sto facendo. Ci sono una serie di directory in questo modo:Bash: come attraversare la struttura delle directory ed eseguire i comandi?
/home/brianly/output-02 (contains 2 files myfile.chunk.00 and myfile.chunk.01)
/home/brianly/output-04 (contains 4 files...)
/home/brianly/output-06 (contains 6 files...)
E 'importante notare che v'è un numero crescente di file in ogni directory. Quello che devo fare è eseguire un eseguibile su ciascuno dei file di testo nelle directory di output. Il comando simile a questa contro un singolo file:
./myexecutable -i /home/brianly/output-02/myfile.chunk.00 -o /home/brianly/output-02/myfile.chunk.00.processed
Qui il parametro -i è il file di input e il parametro -o è la posizione di uscita.
In C# I loop sulle directory ottengono l'elenco dei file in ogni cartella, quindi eseguono il loop su di essi per eseguire le righe di comando. Come si attraversa una struttura di directory come questa usando bash ed eseguire il comando con i parametri corretti in base alla posizione e ai file in quella posizione?
ci sono back-zecche prima di trovare e dopo f – nikudesu
for x in $ (find/home/brianonly tipo f); do ... done $() è molto più leggibile di back-ticks. I miei $ .02. –
Penso che il tuo proverebbe a elaborare i file elaborati. –