🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: es.comp.os.linux.programacion
7 messages
7 total messages Started by Cachorro Sun, 30 Apr 2006 12:27
Nombres de archivos con espacios
#1060
Author: Cachorro
Date: Sun, 30 Apr 2006 12:27
30 lines
1470 bytes
Hola buenas  a todos:
Haciendo un script que procesa jpgs me surgi� este problema. Los jpg tienen
espacios en blanco y el script interpreta que cada bloque de texto entre
espacios como si fuerra un jpg.

Como puedo arreglarlo ?

eg
imagen "de camino al jerte.jpg"

salida del script

Procesando => De
Procesando => camino
Procesando => al
Procesando => jerte


Codigo

for i in $(ls *.jpg)
do
  echo "Procesando => $i"
  #convert....  
  #jpgtn....
done

Un saludo cachorro

PD espero haberme explicado bien.
Re: Nombres de archivos con espacios
#1061
Author: Pascal Bourguignon
Date: Sun, 30 Apr 2006 13:19
40 lines
2226 bytes
Cachorro <caxorrin@gmail.com> writes:

> Hola buenas  a todos:
> Haciendo un script que procesa jpgs me surgi� este problema. Los jpg tienen
> espacios en blanco y el script interpreta que cada bloque de texto entre
> espacios como si fuerra un jpg.
>
> Como puedo arreglarlo ?

man bash

es decir, si usas bash; no dices que shell usas...



#!/bin/bash

> for i in $(ls *.jpg)

  for in in *.jpg

> do
>   echo "Procesando => $i"
>   #convert....  

    convert "$i" "${i}.convertido"

>   #jpgtn....

    jpgtn "${i}.convertido" "${i}.salida"

> done


-- 
__Pascal Bourguignon__                     http://www.informatimago.com/

"Remember, Information is not knowledge; Knowledge is not Wisdom;
Wisdom is not truth; Truth is not beauty; Beauty is not love;
Love is not music; Music is the best." -- Frank Zappa
Re: Nombres de archivos con espacios
#1062
Author: drid
Date: Sun, 30 Apr 2006 17:51
23 lines
1642 bytes
> Hola buenas  a todos:
> Haciendo un script que procesa jpgs me surgió este problema. Los jpg tienen
> espacios en blanco y el script interpreta que cada bloque de texto entre
> espacios como si fuerra un jpg.
> 
> Como puedo arreglarlo ?
 
> for i in $(ls *.jpg)

Cambia esta orden por la siguiente :

ls *.jpg | while read i; do

La orden for tiene como separador el espacio en blanco (y supongo que tambien los tabuladores. Puede que dependa de la shell). Usando la combinacion ls + while read   solucionas el problema porque read utiliza como delimitador el salto de linea.

Un saludo
-- 
Drid@niako
Re: Nombres de archivos con espacios
#1063
Author: Pascal Bourguignon
Date: Sun, 30 Apr 2006 18:24
43 lines
2781 bytes
drid <drid@niako.com> writes:

>> Hola buenas  a todos:
>> Haciendo un script que procesa jpgs me surgi� este problema. Los jpg tienen
>> espacios en blanco y el script interpreta que cada bloque de texto entre
>> espacios como si fuerra un jpg.
>> 
>> Como puedo arreglarlo ?
>  
>> for i in $(ls *.jpg)
>
> Cambia esta orden por la siguiente :
>
> ls *.jpg | while read i; do

Esto no funcionara cuando hay LF in the nombres;
for i in *.jpg ; do echo "$i" ; done # si.

[pjb@thalassa pjb]$ mkdir /tmp/ejemplo ; cd  /tmp/ejemplo
[pjb@thalassa ejemplo]$ touch "$(printf 'nombre muy\n muy malo')" abc 'abc def'
[pjb@thalassa ejemplo]$ for i in * ; do echo "-- $i" ; done
-- abc
-- abc def
-- nombre muy
 muy malo
[pjb@thalassa ejemplo]$ ls * | while read i; do echo "-- $i" ; done
-- abc  abc def  nombre muy
-- muy malo


> La orden for tiene como separador el espacio en blanco (y supongo
> que tambien los tabuladores. Puede que dependa de la shell). Usando
> la combinacion ls + while read   solucionas el problema porque read
> utiliza como delimitador el salto de linea.

No, no soluciona nada, porque ademas, ls * imprime varios nombres por l�nea.
Habria que usar ls -1 * al menos.

-- 
__Pascal Bourguignon__                     http://www.informatimago.com/
Wanna go outside.
Oh, no! Help! I got outside!
Let me back inside!
Re: Nombres de archivos con espacios
#1064
Author: drid
Date: Sun, 30 Apr 2006 19:17
32 lines
1875 bytes
> Esto no funcionara cuando hay LF in the nombres;

Cierto. La verdad es que no habia usado ficheros con saltos de linea en el nombre, pero tienes razon

> [pjb@thalassa ejemplo]$ ls * | while read i; do echo "-- $i" ; done
> -- abc  abc def  nombre muy
> -- muy malo

A mi eso me sale de forma distinta :

ls * | while read i; do echo "-- $i" ; done
-- abc
-- abc def
-- nombre muy
-- muy malo

Solo me falla con los saltos de linea

> No, no soluciona nada, porque ademas, ls * imprime varios nombres por línea.
> Habria que usar ls -1 * al menos.

Otra vez tienes razon. Eso pasa por poner las cosas sin probarlas  :-)

Un saludo
-- 
Drid@niako

P.D. Voy que probar estas instrucciones en un SunOS, porque creo que lo del for no tira bien de esa manera. Ya os contare
Re: Nombres de archivos con espacios
#1066
Author: Pascal Bourguignon
Date: Mon, 01 May 2006 07:09
65 lines
3090 bytes
drid <drid@niako.com> writes:

>> Esto no funcionara cuando hay LF in the nombres;
>
> Cierto. La verdad es que no habia usado ficheros con saltos de linea
> en el nombre, pero tienes razon
>
>> [pjb@thalassa ejemplo]$ ls * | while read i; do echo "-- $i" ; done
>> -- abc  abc def  nombre muy
>> -- muy malo
>
> A mi eso me sale de forma distinta :
>
> ls * | while read i; do echo "-- $i" ; done
> -- abc
> -- abc def
> -- nombre muy
> -- muy malo
>
> Solo me falla con los saltos de linea

Si, porque depende de la configuraci�n de cada uno.
Tengo en mi ~/.bashrc:

    alias ls='LC_COLLATE="" /bin/ls -aBCF'

/bin/ls * | while read i ; do echo "-- $i" ; done # funcionaria como lo quieres.
^^^^^

[pjb@thalassa pjb]$ cd /tmp/ejemplo/
[pjb@thalassa ejemplo]$ /bin/ls -C | cat
abc  abc def  nombre muy
 muy malo
[pjb@thalassa ejemplo]$ /bin/ls -C -1 | cat
abc
abc def
nombre muy
 muy malo
[pjb@thalassa ejemplo]$ /bin/ls
abc  abc def  nombre muy? muy malo
[pjb@thalassa ejemplo]$ /bin/ls |cat
abc
abc def
nombre muy
 muy malo


>> No, no soluciona nada, porque ademas, ls * imprime varios nombres por l�nea.
>> Habria que usar ls -1 * al menos.
>
> Otra vez tienes razon. Eso pasa por poner las cosas sin probarlas  :-)
>
> Un saludo
> -- 
> Drid@niako
>
> P.D. Voy que probar estas instrucciones en un SunOS, porque creo que
> lo del for no tira bien de esa manera. Ya os contare

-- 
__Pascal Bourguignon__                     http://www.informatimago.com/

ATTENTION: Despite any other listing of product contents found
herein, the consumer is advised that, in actuality, this product
consists of 99.9999999999% empty space.
Re: Nombres de archivos con espacios
#1067
Author: Cachorro
Date: Tue, 02 May 2006 15:10
15 lines
1578 bytes
Muchas gracias a todos por vuestra ayuda, el script ya est� funcionando y
salvandome algo de tiempo :)


La verdad quede un tanto sorprendido de la amabilidad que por aqu� reina,
hasta me enviaron un correo con una idea bastante interesante :).

find . -name "*.jpg" \( -exec convert {} {}.salida \; -o -exec test 
{}.salida \; \) -exec convert {}.salida {}.kk \;



Un saludo a todos y muchas gracias por vuestra ayuda

Cachorro.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads