[Risolto - Problema aggirato] Far leggere a bash gli spazi
[Risolto - Problema aggirato] Far leggere a bash gli spazi
Ciao a tutti
ho letto da qualche parte (ma non ricordo dove) che esiste un comando per far leggere a bash gli spazi contenuti in un nome.
Avrei bisogno del file "file con spazi.txt" ma ovviamente bash non riesce a leggere per intero il nome.
Vi ricordate per caso qual è il comando?
Grazie
ho letto da qualche parte (ma non ricordo dove) che esiste un comando per far leggere a bash gli spazi contenuti in un nome.
Avrei bisogno del file "file con spazi.txt" ma ovviamente bash non riesce a leggere per intero il nome.
Vi ricordate per caso qual è il comando?
Grazie
Ultima modifica di fiamma il giovedì 11 settembre 2008, 15:27, modificato 1 volta in totale.
- tomm
- Scoppiettante Seguace

- Messaggi: 796
- Iscrizione: lunedì 15 ottobre 2007, 10:16
- Desktop: Gnome
- Distribuzione: Ubuntu 16.04
Re: Far leggere a bash gli spazi
ci sono diversi metodi: Uno è file\ con\ spazi.txt
Un altro è "file con spazi.txt"
Un altro è "file con spazi.txt"
Re: Far leggere a bash gli spazi
O mi sono spiegato male o non ho capito.
Avrei bisogno di passare ad un comando un file che nel suo nome ci sono spazi "file con spazi.txt".
Bash vuole che i nomi vengano scritti tutti attaccati, ma mettermi a rinominare centinaia di file è un suicidio, quindi cercavo un comando che leggesse gli spazi.
Avrei bisogno di passare ad un comando un file che nel suo nome ci sono spazi "file con spazi.txt".
Bash vuole che i nomi vengano scritti tutti attaccati, ma mettermi a rinominare centinaia di file è un suicidio, quindi cercavo un comando che leggesse gli spazi.
- mous16
- Imperturbabile Insigne

- Messaggi: 3940
- Iscrizione: mercoledì 25 ottobre 2006, 15:51
- Sesso: Maschile
Re: Far leggere a bash gli spazi
facciamo che devi copiare il file "nome con spazio.txt" nella tua home. hai 2 modi
1)
2)
Esattamente come diceva tomm
1)
Codice: Seleziona tutto
cp nome\ con\ spazio.txt ~/Codice: Seleziona tutto
cp "nome con spazio.txt" ~/Re: Far leggere a bash gli spazi
Ok grazie
allora non avevo capito :-[
allora non avevo capito :-[
Re: [Risolto] Far leggere a bash gli spazi
Ho cantato vittoria troppo presto.
Il file "file con spazi.txt" lo devo passare al comando sotto forma di variabile e con questi due modi non funizona.
Il file "file con spazi.txt" lo devo passare al comando sotto forma di variabile e con questi due modi non funizona.
- tomm
- Scoppiettante Seguace

- Messaggi: 796
- Iscrizione: lunedì 15 ottobre 2007, 10:16
- Desktop: Gnome
- Distribuzione: Ubuntu 16.04
Re: Far leggere a bash gli spazi
non saprei (ma trovi sicuramente la risposta in un tutorial per bash, es http://www.tldp.net/LDP/abs/html/index.html ) ma su questo sito trovi un ottimo script per riniminare tutti i file e cartelle con gli spazi:
http://www.spaghettilinux.org/spaghetti-script/sostituire-spazi-bianchi-con-underscore
guardando nello script probabilmente trovi anche la soluzione al problema
http://www.spaghettilinux.org/spaghetti-script/sostituire-spazi-bianchi-con-underscore
guardando nello script probabilmente trovi anche la soluzione al problema
- Guiodic
- Accecante Asceta

- Messaggi: 28474
- Iscrizione: martedì 24 aprile 2007, 15:28
- Località: Roma
- Contatti:
Re: Far leggere a bash gli spazi
che vuol dire "come variabile"? intendi come paramentro nella riga di comando? di cosa si tratta? uno script bash, perl, python... o altro?
- crap0101
- Rampante Reduce

- Messaggi: 8242
- Iscrizione: martedì 30 ottobre 2007, 6:33
- Desktop: LXDE
- Distribuzione: Ubuntu 18.04.1 LTS
- Sesso: Maschile
- Località: TO
- Contatti:
Re: [Risolto] Far leggere a bash gli spazi
variabile...come?fiamma ha scritto: Ho cantato vittoria troppo presto.
Il file "file con spazi.txt" lo devo passare al comando sotto forma di variabile e con questi due modi non funizona.
marco@gNS:~$ A="file con spazi.txt"
marco@gNS:~$ echo $A
file con spazi.txt
marco@gNS:~$
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
Re: Far leggere a bash gli spazi
Usa le virgolette anche quando usi la variabile
:
Codice: Seleziona tutto
A="file con spazi.txt"
ls "${A}"Volans
Prima di scrivere leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Prima di scrivere leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Re: Far leggere a bash gli spazi
Lo script è in bash
cd "$audio" #$audio è la cartella in cui sono presenti i file
music=`ls`
xterm -e mplayer "$music"
"Cartella con spazi" che contiene "file con spazi.ape"
cd "$audio" #$audio è la cartella in cui sono presenti i file
music=`ls`
xterm -e mplayer "$music"
"Cartella con spazi" che contiene "file con spazi.ape"
- Guiodic
- Accecante Asceta

- Messaggi: 28474
- Iscrizione: martedì 24 aprile 2007, 15:28
- Località: Roma
- Contatti:
Re: Far leggere a bash gli spazi
forse il problema è che mplayer non vuole spazi nei nomi dei file, poi non sono sicuro che li accetti uno dietro l'altro così...
Re: Far leggere a bash gli spazi
Allora devi usare music=`ls -Q` che ti mette le virgolette all'output di ls... 
Volans
Prima di scrivere leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Prima di scrivere leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Re: Far leggere a bash gli spazi
Ho fatto la prova con dei file senza spazi, e vengono riprodotti uno dietro l'altro.Guiodic ha scritto: forse il problema è che mplayer non vuole spazi nei nomi dei file, poi non sono sicuro che li accetti uno dietro l'altro così...
Se metto i doppi apici alla variabile del comando cd, funizona, ma se metto i doppi apici per la variabile di ls, xterm si apre ma poi si chiude subito.
Se non metto i doppi apici xterm rimane aperto con scritto
Playning file
File not found: file
Playning senza
File not found:senza
Playning spazio
Reading from stdin
Non funge, sia se metto i doppi apici a $music sia che noVolans ha scritto: Allora devi usare music=`ls -Q` che ti mette le virgolette all'output di ls...![]()
Re: Far leggere a bash gli spazi
Scusa fai la prova a mano:
se funziona così allora dovrebbe funzionare con -Q non so però se xterm o mplayer diano problemi.
Se posso perché usi xterm?
Codice: Seleziona tutto
xterm -e mplayer "file con spazi.ape" "secondo file.ape"Se posso perché usi xterm?
Volans
Prima di scrivere leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Prima di scrivere leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Re: Far leggere a bash gli spazi
Se faccio a mano funziona! Se gli passo la variabile no ???Volans ha scritto: Scusa fai la prova a mano:se funziona così allora dovrebbe funzionare con -Q non so però se xterm o mplayer diano problemi.Codice: Seleziona tutto
xterm -e mplayer "file con spazi.ape" "secondo file.ape"
Se posso perché usi xterm?
Sto usando l'interprete buc (interfaccia grafica per script bash) ma se lancio mplayer senza xterm o gnome-terminal l'applicativo si scurisce e quindi non posso cliccare il bottone per interrompere la riproduzione dei file.
Re: Far leggere a bash gli spazi
Con che utente lo stai lanciando mplayer?
In caso controlla con:
ps ux | grep mplayer
In caso controlla con:
ps ux | grep mplayer
Volans
Prima di scrivere leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Prima di scrivere leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Re: Far leggere a bash gli spazi
Dall'output di questo comando esce il mio nome utente.Volans ha scritto: Con che utente lo stai lanciando mplayer?
In caso controlla con:
ps ux | grep mplayer
Re: Far leggere a bash gli spazi
Se hai controllato quando mplayer era in esecuzione tramite lo script allora viene lanciato con il tuo stesso utente e dovresti poterlo chiudere se vuoi... sicuro che non fosse un mplayer avviato normalmente dal menu?
Volans
Prima di scrivere leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Prima di scrivere leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Re: Far leggere a bash gli spazi
Correggo quanto detto.
Lancio mplayer attraverso lo script, si apre xterm (sul titolo della finestra compare la scrita mplayer) con scritto :
Playning file
File not found: file
Playning senza
File not found:senza
Playning spazio
Reading from stdin
Apro il terminale e digito i comandi che mi hai dato e compare:
mionome 7257 0.5 0.2 10328 3296 ? S 13:32 0:00 xterm -e mplayer
e l'elenco dei file (dentro alle virgolette) presenti nella cartella scelta.
mionome 7258 1.0 1.0 51056 16336 pts/0 Ss+ 13:32 0:00 mplayer
di nuovo l'elenco dei file (dentro alle virgolette) presenti nella cartella scelta.
mionome 7283 0.0 0.0 3008 760 pts/1 R+ 13:32 0:00 grep mplayer
mionome@mionome-desktop:~$
Questo è tutto.
Lancio mplayer attraverso lo script, si apre xterm (sul titolo della finestra compare la scrita mplayer) con scritto :
Playning file
File not found: file
Playning senza
File not found:senza
Playning spazio
Reading from stdin
Apro il terminale e digito i comandi che mi hai dato e compare:
mionome 7257 0.5 0.2 10328 3296 ? S 13:32 0:00 xterm -e mplayer
e l'elenco dei file (dentro alle virgolette) presenti nella cartella scelta.
mionome 7258 1.0 1.0 51056 16336 pts/0 Ss+ 13:32 0:00 mplayer
di nuovo l'elenco dei file (dentro alle virgolette) presenti nella cartella scelta.
mionome 7283 0.0 0.0 3008 760 pts/1 R+ 13:32 0:00 grep mplayer
mionome@mionome-desktop:~$
Questo è tutto.
Ultima modifica di fiamma il martedì 9 settembre 2008, 13:41, modificato 1 volta in totale.
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 5 ospiti