comando cp e nomi con spazi: errore strano
comando cp e nomi con spazi: errore strano
Se faccio
cp /home/giorgio/Scrivania/prova2/*.* /home/giorgio/Scrivania/prova1 va tutto bene
se faccio
cp "/home/giorgio/Scrivania/prova2/*.*" " /home/giorgio/Scrivania/prova1"
da errore:
cp: impossibile eseguire stat di '/home/giorgio/Scrivania/prova2/*.*': File o directory non esistente
come faccio a indicare nomi di librerie che possono avere spazi in mezzo?
l'errore parte da /*.*, perchè se faccio: (ma cp prevede i caratteri jolly)
cp "/home/giorgio/Scrivania/prova2/note.ods" " /home/giorgio/Scrivania/prova1" va bene e non da errore
Per caso 'cp' non funziona bene bene?
cp /home/giorgio/Scrivania/prova2/*.* /home/giorgio/Scrivania/prova1 va tutto bene
se faccio
cp "/home/giorgio/Scrivania/prova2/*.*" " /home/giorgio/Scrivania/prova1"
da errore:
cp: impossibile eseguire stat di '/home/giorgio/Scrivania/prova2/*.*': File o directory non esistente
come faccio a indicare nomi di librerie che possono avere spazi in mezzo?
l'errore parte da /*.*, perchè se faccio: (ma cp prevede i caratteri jolly)
cp "/home/giorgio/Scrivania/prova2/note.ods" " /home/giorgio/Scrivania/prova1" va bene e non da errore
Per caso 'cp' non funziona bene bene?
Re: comando cp e nomi con spazi: errore strano
Ho visto che posso evitare di racchiudere il nome tra "" sostituendo ogni spazio con \+spazio ma come soluzione mi piace poco
A mio avviso, cp non dovrebbe dare errore....
Ho anche visto che non va sostituendo ogni spazio con %20 (%20 se ricordo bene...)
A mio avviso, cp non dovrebbe dare errore....
Ho anche visto che non va sostituendo ogni spazio con %20 (%20 se ricordo bene...)
- UbuNuovo
- Imperturbabile Insigne

- Messaggi: 4457
- Iscrizione: sabato 12 dicembre 2009, 20:58
- Desktop: Mate
- Distribuzione: Ubuntu Mate 22.04.1 LTS
- Sesso: Maschile
- Contatti:
Re: comando cp e nomi con spazi: errore strano
Se quoti il globbing non funziona! Devi lasciarlo "in balia" della shell.
Puoi quotare il resto del path, per esempio:
Puoi quotare il resto del path, per esempio:
Codice: Seleziona tutto
cp "$HOME/Scrivania/prova2/"*.* "$HOME/Scrivania/prova1"Salva l'Ucraina! 
Re: comando cp e nomi con spazi: errore strano
Non capisco però perchè non debba funzionare...
Intanto ho scoperto che se uso '\ " in ogni spazio, non funzionano più os.path.isfile(perc) e os.path.isdir(perc)
quindi la soluzione giusta è comunque quella di racchiudere il nome con spazi tra " oppure '
Mi sembra che la gestione degli spazi nei nomi file non sia delle più felici
Intanto ho scoperto che se uso '\ " in ogni spazio, non funzionano più os.path.isfile(perc) e os.path.isdir(perc)
quindi la soluzione giusta è comunque quella di racchiudere il nome con spazi tra " oppure '
Mi sembra che la gestione degli spazi nei nomi file non sia delle più felici
- UbuNuovo
- Imperturbabile Insigne

- Messaggi: 4457
- Iscrizione: sabato 12 dicembre 2009, 20:58
- Desktop: Mate
- Distribuzione: Ubuntu Mate 22.04.1 LTS
- Sesso: Maschile
- Contatti:
Re: comando cp e nomi con spazi: errore strano
Per quanto riguarda la shell è il comportamento normale; il quoting serve proprio per non far interpretare alla shell i caratteri con significati speciali.maresama [url=http://forum.ubuntu-it.org/viewtopic.php?p=4980057#p4980057][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Non capisco però perchè non debba funzionare...
se metti i caratteri jolly tra apici doppi (o singoli) questi caratteri saranno interpretati letteralmente.
Nel tuo caso cercherebbe di copiare un file con nome '*.*'.
Considera che il quoting forte (singoli apici) non permette l'espansione delle variabili, l'espansione è invece permessa dal quoting debole (doppi apici).
Secondo me è anche il metodo più pratico, in certi casi potrebbe essere utile cambiare IFS....quindi la soluzione giusta è comunque quella di racchiudere il nome con spazi tra " oppure '
Dipende sempre dal fatto che il separatore degli argomenti predefinito (IFS) è lo spazio, inteso come '/s' cioè spazi, tab e "a capo".Mi sembra che la gestione degli spazi nei nomi file non sia delle più felici
Salva l'Ucraina! 
-
rai
- Imperturbabile Insigne

- Messaggi: 2886
- Iscrizione: domenica 11 maggio 2008, 18:03
- Desktop: plasma
- Distribuzione: 22.04
- Località: Palermo
Re: comando cp e nomi con spazi: errore strano
ciaoIntanto ho scoperto che se uso '\ " in ogni spazio, non funzionano più os.path.isfile(perc) e os.path.isdir(perc)
quindi la soluzione giusta è comunque quella di racchiudere il nome con spazi tra " oppure '
la gestione dei separatori di campi è molto diversa nella shell di bash e in Python quindi non confondiamo le cose
come dici, in python basta/bisogna racchiudere la stringa del percorso tra apici
mentre io scrivevo UbuNuovo ti ha mostrato come fare e perchè per ricomprendere col globbing anche i nomifile contenti spazi: l'espansione del carattere * è una funzione della shell, cp come ogni altro comando si limita ad agire sui parametri/ file che la shell gli passa dopo averli espansi secondo le sue (della shell) regole.
Re: comando cp e nomi con spazi: errore strano
Innanzi tutto grazie per le spiegazioni (utilissime...)
Il fatto è che uno si aspetta un sistema armonizzato di comandi, ossia, nel caso di cp, che la gestione di cp, os.path.isfile(perc), os.path.isdir(perc), shell ecc sia la medesima e che ogni comando al suo interno, gestisca opportunamente i vari casi. (es: \ + spazio dovrebbe valere per tutti)
Capisco che nella realtà (a causa di gestioni diverse, in tempi diversi, e mille altri motivi) le cose non vanno così...
Per fortuna c'è l'aiuto di chi, come voi, ne sa molto di più. Grazie di nuovo.
Il fatto è che uno si aspetta un sistema armonizzato di comandi, ossia, nel caso di cp, che la gestione di cp, os.path.isfile(perc), os.path.isdir(perc), shell ecc sia la medesima e che ogni comando al suo interno, gestisca opportunamente i vari casi. (es: \ + spazio dovrebbe valere per tutti)
Capisco che nella realtà (a causa di gestioni diverse, in tempi diversi, e mille altri motivi) le cose non vanno così...
Per fortuna c'è l'aiuto di chi, come voi, ne sa molto di più. Grazie di nuovo.
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 3 ospiti
