Newsgroup: it.comp.os.linux.iniziare
Titolo: [shell] cambio nomi

Salòve a tutti, il problema non è particolarmente difficile ma ancora
sono lontano dall'essere un drago con la shell linux...
Ho una serie di files in una directory e vorrei in un colpo solo
rinominarli tutti mettendo una "f_" davanti al nome originale:
pippo  ->> f_pippo
pluto  ->> f_pluto 
e così via.
Chi puo' aiutarmi?

 rinominarli tutti mettendo una "f_" davanti al nome originale:
per la zsh
for i in `ls` ; do mv $i f_$i ; done
bye Becks
-- 
Becks [#PinkFloyd-#Linux]@
irc.azzurra.it
       uin #42725997  

rinominarli tutti mettendo una "f_" davanti al nome originale:
Facile:
    for f in `find . -type f`; do mv $f f_$f; done
o anche, forse:
    find . -type f -exec mv {} f_{} \;
Questa seconda versione dovrebbe essere piu` veloce, ma non sono sicuro
della sintassi. Occhio pero`: lo fa anche nelle sotto-directory.
-- 
  _      ___ ____
 | | /| / (_)_  /
 | |/ |/ / / / /_	ANTI-SPAM WARNING:
 |__/|__/_/ /___/	the e-mail address is fake.
 
- Cosa c'e` nella struct sockaddr_in?
- Sa l'host... (i Troia)

 rinominarli tutti mettendo una "f_" davanti al nome originale:
for tmp in /path/files/*; do mv "$tmp" f_"$tmp"; done
-- 
Fabio   fabio161616(at)
libero.it
 blackmagic(at)
penguinpowered.com
 
I stayed up all night playing poker with tarot cards.  I got a full
house and four people died.  -- Steven Wright

mettendo una "f_" davanti al nome originale:
Prova con
# for in in `ls` ; do mv $i f_$i ; done
-- 
                                                                     __
 __                                                              _  ///
| _        Student in Computer Science, Swiss Federal Institute  \\///
|__|iambo      of Technology - mailto:
ggia...@iiic.ethz.ch
       \X/

 # for in in `ls` ; do mv $i f_$i ; done
Non si può fare tipo
mv * f_*
?
--
CIAO!!!
Paolo 83 RE
XXXg...@freemail.it
 (remove XXX)
gher...@iname.com
 (text only)

mv * f_*
Hmmm  ... Ho  paura che  finisca  in un  loop infinito,  rinominando
f_pippo in f_f_pippo e poi ancora in f_f_f_pippo ...
Puo' darsi che la tua soluzione prima legga tutta la dir, poi faccia
il move, come  puo' darsi che legga  file per file e  faccia il move
(Creando cosi' il  loop infinito). L'unica cosa che  posso dirti e':
Prova :-) !


 mv * f_*
No; nel caso migliore si incazza come una pantera, oppure spostata
tutti i file nella directory il cui nome e` l'ultimo dell'elenco
matchato da f_* (pero` normalmente bestemmia parecchio lo stesso).
Al piu` prova mmv
-- 
Cinereview: Christina's house: talmente pessimo sotto ogni    _/Davide\_
aspetto da risultare divertente. Gnocca la signorina. Voto: 2 \Alberani/

 mv * f_*
No. L'ultimo argomento di mv e' inteso come destinazione e, ovviamente,
se il numero di argomenti e' > di 2 allora si aspetta una directory. In  
questo caso la shell non puo' espandere f_*, almeno non lo farebbe come
vorresti tu: f_* viene espanso in argomenti solo se in quella directory
hai file che iniziano appunto per f_. 
Se per sfiga li hai, il comando espanso risulta una cosa del genere:
mv file in quella dir   f_1 f_2 f_3
   |       *        |   |   f_*   |
Che si conclude in qualcosa di fatto solo se f_3 e' una directory. (Non
tenendo conto degli errori causati dal fatto che f_* e' una parte di *, 
quindi a un certo punto mv cerchera' di spostare file gia' rinominati e
tra questi pure la directory di destinazione).
Inutile dire che il risultato finale e' la directory f_3 piena di tutti 
i file che aveva la dir da cui prima hai lanciato il simpatico comando.
Wow, mica male sto post Sernificato :)
-- 
Fabio   fabio161616(at)
libero.it
 blackmagic(at)
penguinpowered.com
 
In a literature class, the students were given an assignment to write a
short story involving all the important ingredients - Nobility,
Emotion, Sex, Religion and Mystery. One student handed in the following
story: "My god!" cried the duchess. "I'm pregnant. Who did it?"

 se il numero di argomenti e' > di 2 allora si aspetta una directory. In
In effetti non avrebbe molto senso, * è come in dos un numero qls di
caratteri... :(
Ho detto una cosa poco saggia :)
