Debianizzati.Org | Forum | Blog | Guide | IRC
 
 
Forum Italiano Debian - Debianizzati.Org
Dicembre 05, 2008, 04:33:13 am *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
Notizia:
 
   Indice   Aiuto Ricerca Agenda Accedi Registrati  
Pagine: [1]   Vai giù
  Stampa  
Autore Discussione: ciclo su file  (Letto 610 volte)
0 utenti e 1 Utente non registrato stanno visualizzando questa discussione.
alfreale
Newbie
*

Karma: +0/-1
Scollegato Scollegato

Messaggi: 35


Mostra profilo E-mail
« inserita:: Gennaio 19, 2008, 07:08:21 pm »

ciao,

sto cercando di creare un ciclo su dei file (circa 600..impossibile da fare a mano...), ma data la mia scarsa conoscenza del bash, mi trovo in alto mare... :-)

in pratica dovrei fare questo:

nella cartella /home/utente/raster/

ho 600 cartelle nominate in questo modo: V1k19400401Europe

le cartelle si differenziano soltanto per le 8 cifre intermedie (V1k********Europe), che rappresentano una data.

io dovrei entrare in ogni cartella, dare un comando specifico che ha come input due valori:

- il percorso dell'immagine che dovrà essere  /home/utente/raster/V1k********Europe/001.hdf

- il nome da dare al nuovo file che dovrà essere uguale al valore numerico presente nel nome della cartella

quindi dovrei spostare la cartella appena elaborata e ripetere il tutto con la cartella successiva fino a alla fine.

considerate che dovrei fare il tutto in ciclo e che il nome del file d'origine è sempre lo stesso (001.hdf)


E' difficile da fare??

almeno datemi un spunto da dove poter iniziare :-)


ciao,

Alfredo




Registrato
Gomna
Hero Member
*****

Karma: +16/-1
Scollegato Scollegato

Messaggi: 845



Mostra profilo E-mail
« Risposta #1 inserita:: Gennaio 19, 2008, 08:01:50 pm »

non mi ricordo tutti i comandi, quindi in parte scriverò in pseudocodifica...
Codice:
for dir in ´ls /home/utente/raster/V1k*´; do

    nuovo=[tagliare 8 caratteri partendo dal quarto];
    dir/comando_specifico dir/001.hdf nuovo;

done;
« Ultima modifica: Gennaio 19, 2008, 08:07:34 pm da Gomna » Registrato
alfreale
Newbie
*

Karma: +0/-1
Scollegato Scollegato

Messaggi: 35


Mostra profilo E-mail
« Risposta #2 inserita:: Gennaio 19, 2008, 10:38:59 pm »

il problema che non riesco a risolvere, è come faccio a immagazzinare il valore numerico del nome della directory in una costante?

directory = pippo1584pluto

costante = 1584

ciao,

Alfredo
Registrato
tindal
Administrator
Hero Member
*****

Karma: +67/-1
Scollegato Scollegato

Messaggi: 2631


Mostra profilo E-mail
« Risposta #3 inserita:: Gennaio 19, 2008, 11:58:38 pm »

a seconda della situazione, puoi usare:

l'estrazione di sitringa in base alla posizione
Codice:
$ dir=pippo1234pluto; echo ${dir:5:4}
1234

sed (sostituzione di stringa)
Codice:
echo pippo1234pluto | sed 's/pippo\|pluto//g'

cut (in questo caso macchinoso, ma altre volte molto utile)
Codice:
echo pippo1234pluto | cut -d 'o' -f 2 | cut -d 'p' -f 1

leggi le man page di cut e sed, e anche http://www.pluto.it/files/ildp/guide/abs/index.html Wink

ciao
tindal
Registrato

Se ci sono molti modi diversi per fare una certa cosa, ed uno di questi ha conseguenze disastrose, di sicuro qualcuno la farà in quel modo.
alfreale
Newbie
*

Karma: +0/-1
Scollegato Scollegato

Messaggi: 35


Mostra profilo E-mail
« Risposta #4 inserita:: Gennaio 20, 2008, 11:22:07 am »

così funziona...

Codice:
#!/bin/bash

find $startdir -type d -name 'V1K*Europe' |
 while read xdir
   do
     cd "$xdir"
     cd 0001
     j=${xdir#\.\/V1KRNS10__}; k=${j%%__Europe*}
     i.in.spotvgt file=0001_NDV.HDF rast=$k
     cd ..
     cd ..
     mv $xdir /home/alfredo/prova_script/fatte
   done


ciao,

Alfredo
Registrato
Pagine: [1]   Vai su
  Stampa  
 
Vai a:  

Altri Topic Correlati
Oggetto Aperta da Risposte Visite Ultimo messaggio
Ciclo infinito Scripting avezzo 4 787 Ultimo messaggio Maggio 28, 2007, 09:30:22 am
da tindal
Ciclo infinito Scripting avezzo 1 636 Ultimo messaggio Febbraio 24, 2007, 01:17:05 am
da Finn
copiare i file da shell e uso dei file .package Generale turich 7 402 Ultimo messaggio Giugno 23, 2008, 11:42:03 pm
da angellyca
Aggiungere testo di un file in un altro file Scripting pirpy 2 467 Ultimo messaggio Novembre 26, 2007, 02:41:50 pm
da pirpy
Prendere 2 righe di una lista di file e metterle in un altro file Scripting pirpy 4 780 Ultimo messaggio Dicembre 11, 2007, 03:10:11 pm
da pirpy
Powered by MySQL Powered by PHP Powered by SMF 1.1.7 | SMF © 2006-2008, Simple Machines LLC XHTML 1.0 valido! CSS valido!
Pagina creata in 0.077 secondi con 21 interrogazioni al database.