[Algoritmi] Programma creazione file.lis

HaldoSax
Buon giorno a tutti ho un file in gedit con una lista di queste sequenze tutte diverse.

40067-01-07-00
40067-01-08-01
96050-02-03-05
56008-06-08-06

ogni sequenza è una specifica cartella con all'interno diversi file tra cui total.pds. Quello che dovrebbe fare il programma è:

1) leggere la sequenza dal file di gedit
2) aprire le cartelle corrispondenti alla lista
3) estrarre i file total.pds
4) scriverlo tramite

  ls total.pds > @intervallo.lis 


in un file chiamato @intervallo.lis

Per esempio:

nella mia cartella madre ho 6 cartelle

10252-02-08-02
40067-01-07-00
40067-01-08-01
50056-02-09-00
96050-02-03-05
56008-06-08-06

nella lista ho

40067-01-07-00
40067-01-08-01
96050-02-03-05
56008-06-08-06

programma:

10252-02-08-02 è nella lista? no escludo cartella
40067-01-07-00 è nella lista? si apro cartella prendo file total.pds e lo scrivo in @intervallo.lis
40067-01-08-01 è nella lista? si apro cartella prendo file total.pds e lo scrivo in @intervallo.lis
50056-02-09-00è nella lista? no escludo cartella
......
.....
.....

alla fine dovrei ottenere @intervallo.lis:

total.pds della cartella 40067-01-07-00
total.pds della cartella 40067-01-08-01
......
......
.....

etc

Vanno benissimo anche suggerimenti perchè non sò propio da dove cominciare

Risposte
nessuno.nobody
Suppongo che il file che hai aperto e che ha dentro i nomi delle cartelle vaide si chiami "lista".
Allora semplicemente prendi la lista, la sposti nella cartella dove hai le varie sotto cartelle che dovrai processare e dopo semplicemente
for i in $(cat lista); do echo $(cat $i/total.pds) "della cartella $i" >> intervallo.lis; done


il punto 4, scriverlo tramite "ls total.pds > @intervallo.lis " io l'ho interpretato come "copiare l contenuto del file total.pds (presente all'interno delle cartelle valide) all'interno del file @intervallo.lis

Se quello non era ciò che volevi cambia il comando.

Comunque questa è una mia interpretazione, non ho ben capito cosa chiedi di preciso. Spero d'averci preso

HaldoSax
Grazie mille per l'aiuto. Il programma ha funzionato correttamente. :-D :-D

Buon fine settimana

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.