Programma creazione file.lis

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
sandro t
Prode Principiante
Messaggi: 43
Iscrizione: sabato 15 marzo 2014, 9:26
Distribuzione: Ubuntu 16.04.4 LTS 64bit

Programma creazione file.lis

Messaggio 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:
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: Programma creazione file.lis

Messaggio 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
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
sandro t
Prode Principiante
Messaggi: 43
Iscrizione: sabato 15 marzo 2014, 9:26
Distribuzione: Ubuntu 16.04.4 LTS 64bit

Re: Programma creazione file.lis

Messaggio 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
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: Programma creazione file.lis

Messaggio 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 
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
sandro t
Prode Principiante
Messaggi: 43
Iscrizione: sabato 15 marzo 2014, 9:26
Distribuzione: Ubuntu 16.04.4 LTS 64bit

Re: Programma creazione file.lis

Messaggio 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

:) :)
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 6 ospiti