Pagina 1 di 1

Programma creazione file.lis

Inviato: giovedì 8 maggio 2014, 12:20
da sandro t
Buon giorno a tutti quanti, ho un piccolo problema che non riesco a risolvere. Ho il seguente file in gedit:
40067-01-07-00
40067-01-08-01
Questi numeri indicano delle cartelle, dovrei creare un programma che mi apra ognuna di queste cartelle e mi prenda per oguna il file total.pds contenuto all'interno e, mi lo scriva in un file chiamato @intervallo.lis con il seguente comando

ls total.pds > @intervallo.lis

Vanno benissimo anche solo suggerimenti in quanto non sò che pesci pigliare. Grazie a tutti


:ciao: :ciao: :ciao: :ciao: :ciao:

Re: Programma creazione file.lis

Inviato: giovedì 8 maggio 2014, 12:23
da Zoff
Ma il file @intervallo.list deve essere sempre nella stessa cartella del file total.pds o è un unico file in cui devi mettere tutto?

Con il comando:

Codice: Seleziona tutto

ls total.pds > @intervallo.lis
non metti il contenuto di total.ppds in @intervallo.lis, forse intendevi questo?

Codice: Seleziona tutto

cat total.pds > @intervallo.lis
che poi sarebbe come fare una copia:

Codice: Seleziona tutto

cp total.pds @intervallo.lis

Re: Programma creazione file.lis

Inviato: giovedì 8 maggio 2014, 12:41
da sandro t
praticamente dentro alle due cartelle ho una serie di file tra cui total.pds, quello che dovrei fare è creare un unico file @intervallo.lis in cui ogni riga c'è scritto total.pds.

il comando

Codice: Seleziona tutto

ls total.pds > @intervallo.lis
non sò cosa voglia dire, però lo devo utilizzare

Re: Programma creazione file.lis

Inviato: giovedì 8 maggio 2014, 12:52
da Zoff
E il numero di volte che deve apparire total.pds è pari al numero di righe del primo file che dicevi?
In tal caso:

Codice: Seleziona tutto

for i in {1..$(wc -l < NOME_PRIMO_FILE)}; do echo totals.pds >> @intervallo.lis; done 

Re: Programma creazione file.lis

Inviato: venerdì 9 maggio 2014, 9:54
da sandro t
Vediamo se riesco a farmi capire meglio, dunque 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

Codice: Seleziona tutto

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

spero di essere stato un pò più chiaro

:) :)