Debianizzati.Org | Forum | Blog | Guide | IRC
 
 
Forum Italiano Debian - Debianizzati.Org
Ottobre 11, 2008, 03:57:42 *
Benvenuto, Visitatore. Per favore, effettua il login o registrati.
Hai perso la tua email di attivazione?

Login con username, password e lunghezza della sessione
News:
 
   Home   Help Ricerca Calendario Login Registrati  
Pagine: [1]   Vai Giù
  Stampa  
Autore Topic: ciclo su file  (Letto 525 volte)
0 Utenti e 1 Visitatore stanno guardando questo topic.
alfreale
Newbie
*

Karma: +0/-1
Offline Offline

Posts: 35


Guarda Profilo Email
« il: Gennaio 19, 2008, 06:08:21 »

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




Loggato
Gomna
Hero Member
*****

Karma: +14/-1
Online Online

Posts: 826



Guarda Profilo Email
« Risposta #1 il: Gennaio 19, 2008, 07:01:50 »

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, 07:07:34 da Gomna » Loggato
alfreale
Newbie
*

Karma: +0/-1
Offline Offline

Posts: 35


Guarda Profilo Email
« Risposta #2 il: Gennaio 19, 2008, 09:38:59 »

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
Loggato
tindal
Administrator
Hero Member
*****

Karma: +63/-1
Offline Offline

Posts: 2565


Guarda Profilo Email
« Risposta #3 il: Gennaio 19, 2008, 10:58:38 »

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
Loggato

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
Offline Offline

Posts: 35


Guarda Profilo Email
« Risposta #4 il: Gennaio 20, 2008, 10:22:07 »

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
Loggato
Pagine: [1]   Vai Su
  Stampa  
 
Salta a:  

Altri Topic Correlati
Oggetto Iniziato da Risposte Visto Ultimo Post
Ciclo infinito Scripting avezzo 4 751 Ultimo Post Maggio 28, 2007, 07:30:22
da tindal
Ciclo infinito Scripting avezzo 1 571 Ultimo Post Febbraio 24, 2007, 12:17:05
da Finn
copiare i file da shell e uso dei file .package Generale turich 7 345 Ultimo Post Giugno 23, 2008, 09:42:03
da angellyca
Aggiungere testo di un file in un altro file Scripting pirpy 2 429 Ultimo Post Novembre 26, 2007, 01:41:50
da pirpy
Prendere 2 righe di una lista di file e metterle in un altro file Scripting pirpy 4 715 Ultimo Post Dicembre 11, 2007, 02:10:11
da pirpy
Powered by MySQL Powered by PHP Powered by SMF 1.1.6 | SMF © 2006-2007, Simple Machines LLC
Seo4Smf v0.2 © Webmaster's Talks
Traduzione Italiana a cura di SMItalia
XHTML 1.0 Valido! CSS Valido!
Pagina creata in 0.385 secondi con 21 queries.