Newsgroup: it.comp.os.linux.software
Titolo: sed: dov'e' che sbaglio?

|      IRC: #cslug - 
irc.openprojects.net
	|

 In generale gli spazi nei nomi di file fanno piu' danno che altro.
Si, lo so.. ma tanto so bene oramai che basta proteggerli con i doppi
apici. Grazie cmq per l'aiuto anmche se avevo risolto.


 tutta come argomento?
No, il risultato contiene spazi e gli argomenti sono separati da spazi.
Devi racchiudere le backquotes tra le virgolette.
Oppure ancora meglio:
$ for i in *.mp3; do mv "$i" "Substance - ""$i"; done
e ti risparmi due processi inutili.
In generale gli spazi nei nomi di file fanno piu' danno che altro.
-- 
Fabio Bonelli  fabio161616(at)
libero.it
 blackmagic(at)
penguinpowered.com
char *p="char *p=%c%s%c;main(){printf(p,34,p,34);}";main(){printf(p,34,p,34);}

Data una serie di files .mp3:
[root@mordor Substance]# ls
01. Warsav.mp3              10. Love will tear us apart.mp3
02. Leaders of men.mp3      11. No love lost.mp3
03. Digital.mp3             12. Failures.mp3
04. Autosuggestion.mp3      13. Glass.mp3
05. Transmission.mp3        14. From safety to where.mp3
06. She's lost control.mp3  15. Novelty.mp3
07. Incubation.mp3          16. Komakino.mp3
08. Dead souls.mp3          17. These days.mp3
09. Atmosphere.mp3
volendo modificare il nome facendo precedere il nome dell'album
(Substance, appunto) e premesso che
[root@mordor Substance]# for i in *.mp3; do echo "$i" | sed 's/^/Substance - /g'; done
Substance - 01. Warsav.mp3
Substance - 02. Leaders of men.mp3
Substance - 03. Digital.mp3
Substance - 04. Autosuggestion.mp3
Substance - 05. Transmission.mp3
Substance - 06. She's lost control.mp3
Substance - 07. Incubation.mp3
Substance - 08. Dead souls.mp3
Substance - 09. Atmosphere.mp3
Substance - 10. Love will tear us apart.mp3
Substance - 11. No love lost.mp3
Substance - 12. Failures.mp3
Substance - 13. Glass.mp3
Substance - 14. From safety to where.mp3
Substance - 15. Novelty.mp3
Substance - 16. Komakino.mp3
Substance - 17. These days.mp3
perche' se invece faccio cosi' mi da' errore?
[root@mordor Substance]# for i in *.mp3; do mv "$i" `echo "$i" | sed 's/^/Substance - /g'`; done
Usare `mv --help' per ulteriori informazioni.
mv: quando vengono spostati più file l'ultimo argomento deve essere una
directory
perche'? Inserendo tutta l'espressione fra backquote non dovrebbe usarla
tutta come argomento?
-- 


[root@mordor Substance]# for i in *.mp3; do mv "$i" `echo "$i" | sed 's/^/Substance - /g'`; done
Ci provo: Il "risultato" di `echo "$" | sed 's/^/Substance - /g'` e'
qualcosa stile:
	Substance - GiamboSong.mp3
Quindi il tuo script farebbe qualcosa stile:
	[giambo@microsoft]# mv GiamboSong.mp3 Substance - GiamboSong.mp3
E, giustamente, "mv" s'incazza perche' nel nome-destinazione ci sono
degli spazi. Come evitare tutto cio' ? Semplificando il tutto :)
	for i in *.mp3; do mv $i Substance\ -\ $i ; done
Il risultato e' lo stesso, concettualmente e' diverso ...
-- 
                                                                  __
 __                                                          __  ///
| _          Computer Science, Swiss Federal Institute       \\\///
|__|iambo    of Technology - mailto:
ggia...@iiic.ethz.ch
     \X//

 qualcosa stile:
Si, e' vero, avevo dimenticato il problema degli spazi in mezzo ed
effettivamente proteggendo il tutto con i doppi apici oppure backslash
il problema non si pone piu'.


 's/^/Substance - /g'`; done
Se vuoi una soluzione veramente ad-hoc prova mmv, un'utility vecchia come
Unix ma praticamente sconosciuta che permette di muovere (rinominare,
copiare) una serie di file.  La sintassi nel tuo caso sarebbe:
mmv '*.mp3' 'Substance - #1.mp3'

Se vuoi una soluzione veramente ad-hoc prova mmv, un'utility vecchia come
Ottima, me la sono installata subito (anzi, sono quattro: mmv, mcp, mad,
mln). Interessante vedere le diversita` con rename (Perl).
-- 
Ci sentiamo  |  Remigio Zedda  || Attenzione! campo "From:" alterato
ciao Remigio |                 ||==> E-mail: 
remi...@tiscalinet.it
-------------|      ..si` d'accordo.. ma con la Deb e` un'altra cosa!
/* Linux 2.2.17 su Debian GNU/Linux 2.2 Potato */

 mmv '*.mp3' 'Substance - #1.mp3'
Incredibile come cose apparentemente dimenticate ritornino alla mente:
la cosa buffa e' che lo conoscevo pure :-/
-- 
Pierluigi De Rosa (
tho...@durin.khazad-dum.net
).
<<      LINUX: the choice of a GNU generation     >>
<<   For my real address... ask the Balrog.       >>
* Sostenete la Lega per la Soppressione dei Troll *

Substance - 01. Warsav.mp3
Substance - 02. Leaders of men.mp3
Substance - 03. Digital.mp3
Substance - 04. Autosuggestion.mp3
Substance - 05. Transmission.mp3
Substance - 06. She's lost control.mp3
Substance - 07. Incubation.mp3
Substance - 08. Dead souls.mp3
Substance - 09. Atmosphere.mp3
Substance - 10. Love will tear us apart.mp3
Substance - 11. No love lost.mp3
Substance - 12. Failures.mp3
Substance - 13. Glass.mp3
Substance - 14. From safety to where.mp3
Substance - 15. Novelty.mp3
Substance - 16. Komakino.mp3
Substance - 17. These days.mp3
ma che razza di musica ascolti????
comacino?

 comacino?
Dubito tu possa capire questa musica..
