Altro problema di scripting..
Moderatore: Staff
Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Altro problema di scripting..
Salve a tutti!
<BR> Dato che siete molto gentili e disponibili vi assillo ancora con problemi di scripting! Problema: come faccio ad associare ad una variabile il nome di un file che contiene anche spazi? Cioè se per esempio eseguo
<BR> for i in `ls *`
<BR> do
<BR> echo $i
<BR> done
<BR>
<BR>a patto che la sintassi sia corretta, non mi escono i nomi dei file come sono effettivamente presenti nella dir, ma mi separa le parti dei nomi. Cioè se ho un file che sia chiama "un bel film.avi" mi da come output
<BR>un
<BR>bel
<BR>film.avi
<BR>Come faccio a evitare questo?
<BR> Grazie ancora,
<BR> Marco. <BR><BR>[ Questo Messaggio è stato Modificato da: wacco il 15-12-2003 20:47 ]<br>
<BR> Dato che siete molto gentili e disponibili vi assillo ancora con problemi di scripting! Problema: come faccio ad associare ad una variabile il nome di un file che contiene anche spazi? Cioè se per esempio eseguo
<BR> for i in `ls *`
<BR> do
<BR> echo $i
<BR> done
<BR>
<BR>a patto che la sintassi sia corretta, non mi escono i nomi dei file come sono effettivamente presenti nella dir, ma mi separa le parti dei nomi. Cioè se ho un file che sia chiama "un bel film.avi" mi da come output
<BR>un
<BR>bel
<BR>film.avi
<BR>Come faccio a evitare questo?
<BR> Grazie ancora,
<BR> Marco. <BR><BR>[ Questo Messaggio è stato Modificato da: wacco il 15-12-2003 20:47 ]<br>
Altro problema di scripting..
Scusate! Primo problema risolto..
<BR> Marco.<br>
<BR> Marco.<br>
- Loris
- Admin
- Messaggi: 7730
- Iscritto il: lun 31 mar 2003, 0:00
- Nome Cognome: Loris Vincenzi
- Località: Gradisca D'Isonzo
- Contatta:
Altro problema di scripting..
IFS=:
<BR> for i in `ls *`
<BR>
<BR>Scusa non avevo visto il reply <BR><BR>[ Questo Messaggio è stato Modificato da: Lorys il 15-12-2003 21:18 ]<br>
<BR> for i in `ls *`
<BR>
<BR>Scusa non avevo visto il reply <BR><BR>[ Questo Messaggio è stato Modificato da: Lorys il 15-12-2003 21:18 ]<br>
"Ho una testa piuttosto balzana e comunque non sono quello che credete" - Roger Keith Barrett
Altro problema di scripting..
Ok! Altro problema.. Se eseguo questo script:
<BR>#|/bin/bash
<BR>count=`ls | wc -l`
<BR>for i in "*.*"
<BR> do
<BR> ls $i
<BR> echo "Posizione: "
<BR> read posizione
<BR> if let posizione>$count
<BR> then echo "Hei!!!Sei fuori!?!"
<BR> exit 1
<BR> fi
<BR> done
<BR>Prima mi stampa tutti i file nella directory, ed io vorrei lavorare su un file alla volta, e poi mi salva la variabile count con il suo valore. Il mio scopo sarebbe creare uno script che data una lista di file contenuti in una directory mi chieda la posizione cardianle che voglio associare ad ogni file e di conseguenza ne modifichi il nome. Se per esempio avessi una serie di mp3 non numerati vorrei poterli numerare a piacere. Lo script è solo l´inizio, non ho ancora pensato alla continuazione!
<BR>Grazie ancora,
<BR> Marco.
<BR> <br>
<BR>#|/bin/bash
<BR>count=`ls | wc -l`
<BR>for i in "*.*"
<BR> do
<BR> ls $i
<BR> echo "Posizione: "
<BR> read posizione
<BR> if let posizione>$count
<BR> then echo "Hei!!!Sei fuori!?!"
<BR> exit 1
<BR> fi
<BR> done
<BR>Prima mi stampa tutti i file nella directory, ed io vorrei lavorare su un file alla volta, e poi mi salva la variabile count con il suo valore. Il mio scopo sarebbe creare uno script che data una lista di file contenuti in una directory mi chieda la posizione cardianle che voglio associare ad ogni file e di conseguenza ne modifichi il nome. Se per esempio avessi una serie di mp3 non numerati vorrei poterli numerare a piacere. Lo script è solo l´inizio, non ho ancora pensato alla continuazione!
<BR>Grazie ancora,
<BR> Marco.
<BR> <br>
- useless
- Staff
- Messaggi: 3896
- Iscritto il: dom 12 ott 2003, 0:00
- Località: A place where the streets have no name
- Contatta:
Altro problema di scripting..
<!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-1>Quote:</font><HR></TD></TR><TR><TD><FONT SIZE=-1><BLOCKQUOTE>#!/bin/bash
<BR>count=`ls | wc -l`
<BR>for i in "*"
<BR> do
<BR> echo $i
<BR> echo "Posizione: "
<BR> read posizione
<BR> if [ $posizione -gt $count ]
<BR> then
<BR>echo "Hei!!!Sei fuori!?!"
<BR> exit 1
<BR>else
<BR>mv $i "$posizione-$i"
<BR> fi
<BR> done</BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End -->
<BR>
<BR>DOVREBBE funzionare .<br>
<BR>count=`ls | wc -l`
<BR>for i in "*"
<BR> do
<BR> echo $i
<BR> echo "Posizione: "
<BR> read posizione
<BR> if [ $posizione -gt $count ]
<BR> then
<BR>echo "Hei!!!Sei fuori!?!"
<BR> exit 1
<BR>else
<BR>mv $i "$posizione-$i"
<BR> fi
<BR> done</BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End -->
<BR>
<BR>DOVREBBE funzionare .<br>
Altro problema di scripting..
Grazie di nuovo per il tuo aiuto..Anche con le tue modifiche però al momento dell´ esecuzione di ´echo $i´ mi stampa tutto il contenuto della directory, come se non fose nel ciclo!! Ma i cicli non sono fatti apposta per permettere routine di questo tipo? Da quel che mi ricordo di C..
<BR> Marco<br>
<BR> Marco<br>
- useless
- Staff
- Messaggi: 3896
- Iscritto il: dom 12 ott 2003, 0:00
- Località: A place where the streets have no name
- Contatta:
Altro problema di scripting..
cambia il for in for i in `ls -l`.<br>