Discussion:
Detectar puntos en los archivos
(demasiado antiguo para responder)
n***@gmail.com
2007-11-10 16:53:58 UTC
Permalink
Hola a todos:

Mis amigos en mi universidad hemos desarrollado una aplicación con PHP
que nos permite cambiar la apariencia al servidor Apache pero tengo un
problema, dicha aplicación se va guiando por el punto que tiene cada
archivo, por ejemplo "foto.jpg" Necesito un script que me diga los
archivos que aparte del punto final tienen otros en el nombre, por
ejemplo: "Colección.2007.doc" para corregirlo y que la aplicación
trabaje bien.

Gracias de antemano.

Saludos:

Nelio
Mauricio Gómez
2007-11-10 17:25:51 UTC
Permalink
por qué se guia por los puntos? la idea es extraer la extensión?


rro
Post by n***@gmail.com
Mis amigos en mi universidad hemos desarrollado una aplicación con PHP
que nos permite cambiar la apariencia al servidor Apache pero tengo un
problema, dicha aplicación se va guiando por el punto que tiene cada
archivo, por ejemplo "foto.jpg" Necesito un script que me diga los
archivos que aparte del punto final tienen otros en el nombre, por
ejemplo: "Colección.2007.doc" para corregirlo y que la aplicación
trabaje bien.
Gracias de antemano.
Nelio
Cristian Gutierrez
2007-11-10 23:21:22 UTC
Permalink
Post by n***@gmail.com
Mis amigos en mi universidad hemos desarrollado una aplicación con PHP
que nos permite cambiar la apariencia al servidor Apache pero tengo un
problema, dicha aplicación se va guiando por el punto que tiene cada
archivo, por ejemplo "foto.jpg" Necesito un script que me diga los
archivos que aparte del punto final tienen otros en el nombre, por
ejemplo: "Colección.2007.doc" para corregirlo y que la aplicación
trabaje bien.
Probablemente sea mucho mejor corregir la aplicación en cuestion (para
que corte en el *ultimo* punto, en vez de el primero o cualquiera), pero
aca hay una idea para la solucion parche:

$ ls
ahora.con.muchos.malditos.puntos otro_con_un.punto
este_tiene.dos.puntos un.punto

$ ls | perl -nle 'print if /\..*\./'
ahora.con.muchos.malditos.puntos
este_tiene.dos.puntos
--
Guti
Friends don't let friends use Microsoft on a server.
José Miguel Santibáñez
2007-11-11 21:09:19 UTC
Permalink
En el capítulo anterior
Post by n***@gmail.com
Mis amigos en mi universidad hemos desarrollado una aplicación con PHP
que nos permite cambiar la apariencia al servidor Apache pero tengo un
problema, dicha aplicación se va guiando por el punto que tiene cada
archivo, por ejemplo "foto.jpg" Necesito un script que me diga los
archivos que aparte del punto final tienen otros en el nombre, por
ejemplo: "Colección.2007.doc" para corregirlo y que la aplicación
trabaje bien.
Gracias de antemano.
Nelio
Supongo que usan el punto para obtener la extensión y con eso determinar
que hacer (mime).

utilicen la función strrpos en vez de strpos para buscar el punto, esa
parte desde el final...
--
Apoye a la campaña de alfabetización y | Jose M. Santibañez A.
ordenación de las news, cada post en su | <***@nivel5.cl>
lugar y el lugar exacto para cada post | <http://caos.cl/jms>
m***@googlemail.com
2007-11-13 00:55:44 UTC
Permalink
Post by José Miguel Santibáñez
En el capítulo anterior
Post by n***@gmail.com
Mis amigos en mi universidad hemos desarrollado una aplicación con PHP
que nos permite cambiar la apariencia al servidor Apache pero tengo un
problema, dicha aplicación se va guiando por el punto que tiene cada
archivo, por ejemplo "foto.jpg" Necesito un script que me diga los
archivos que aparte del punto final tienen otros en el nombre, por
ejemplo: "Colección.2007.doc" para corregirlo y que la aplicación
trabaje bien.
Gracias de antemano.
Nelio
Supongo que usan el punto para obtener la extensión y con eso determinar
que hacer (mime).
utilicen la función strrpos en vez de strpos para buscar el punto, esa
parte desde el final...
Si... supongo que es para eso.... si lo que dices no sirve, en PErl
hay una funcion muy util llamada 'split'

@arr=split '.', $nombre_archivo;

$extension=$arr[$#arr];

y entregaria el nombre de la extension. Yo lo uso en algunos casos.
José Miguel Santibáñez
2007-11-13 03:33:11 UTC
Permalink
En el capítulo anterior
Post by m***@googlemail.com
Post by José Miguel Santibáñez
En el capítulo anterior
Post by n***@gmail.com
Mis amigos en mi universidad hemos desarrollado una aplicación con PHP
que nos permite cambiar la apariencia al servidor Apache pero tengo un
problema, dicha aplicación se va guiando por el punto que tiene cada
archivo, por ejemplo "foto.jpg" Necesito un script que me diga los
archivos que aparte del punto final tienen otros en el nombre, por
ejemplo: "Colección.2007.doc" para corregirlo y que la aplicación
trabaje bien.
Gracias de antemano.
Nelio
Supongo que usan el punto para obtener la extensión y con eso determinar
que hacer (mime).
utilicen la función strrpos en vez de strpos para buscar el punto, esa
parte desde el final...
Si... supongo que es para eso.... si lo que dices no sirve, en PErl
hay una funcion muy util llamada 'split'
@arr=split '.', $nombre_archivo;
$extension=$arr[$#arr];
y entregaria el nombre de la extension. Yo lo uso en algunos casos.
salvo que si no tiene extensiones, entonces es el nombre ;-)

en php también hay split, aunque creo que sería mejor una expresión regular
(al estilo de las de perl)
--
Apoye a la campaña de alfabetización y | Jose M. Santibañez A.
ordenación de las news, cada post en su | <***@nivel5.cl>
lugar y el lugar exacto para cada post | <http://caos.cl/jms>
Pablo Jimenez
2007-11-13 03:39:20 UTC
Permalink
Post by José Miguel Santibáñez
En el capítulo anterior
[...]
Post by José Miguel Santibáñez
Post by m***@googlemail.com
Si... supongo que es para eso.... si lo que dices no sirve, en PErl
hay una funcion muy util llamada 'split'
@arr=split '.', $nombre_archivo;
$extension=$arr[$#arr];
y entregaria el nombre de la extension. Yo lo uso en algunos casos.
salvo que si no tiene extensiones, entonces es el nombre ;-)
en php también hay split, aunque creo que sería mejor una expresión regular
(al estilo de las de perl)
Creo que si se inclinan por la solución en Perl, tal vez sea más
conveniente valerse de fileparse (en el módulo File::Basename).
--
Pablo Jimenez
achesere
2007-11-12 18:21:23 UTC
Permalink
Con el viejo y querido awk.

ls -1|awk -F. ' { if (NF > 2) print $0 }'

ls -1 es para que salga un nombre de archivo por línea
Yi Ci
2007-11-16 03:29:24 UTC
Permalink
Post by achesere
Con el viejo y querido awk.
ls -1|awk -F. ' { if (NF > 2) print $0 }'
ls -1 es para que salga un nombre de archivo por línea
No seria mejor

ls -1|awk -F. ' { print $n }'
n***@gmail.com
2007-11-16 04:16:37 UTC
Permalink
Todo ha funcionado muy bien, gracias a todos. Ahora solo necesito algo
que me convierta los puntos de los archivos que tienen más de uno a
"_", o sea.

Si es:

documentacion.2007.doc

quede:

documentacion_2007.doc
José Miguel Santibáñez
2007-11-16 05:34:34 UTC
Permalink
En el capítulo anterior (news:db6dbfb2-a17d-4ba1-a693-b4658aaa8c17
Post by n***@gmail.com
Todo ha funcionado muy bien, gracias a todos. Ahora solo necesito algo
que me convierta los puntos de los archivos que tienen más de uno a
"_", o sea.
documentacion.2007.doc
documentacion_2007.doc
y eso sería en??? (lenguaje, plataforma, etc)
--
Apoye a la campaña de alfabetización y | Jose M. Santibañez A.
ordenación de las news, cada post en su | <***@nivel5.cl>
lugar y el lugar exacto para cada post | <http://caos.cl/jms>
achesere
2007-11-16 13:37:31 UTC
Permalink
ls -1|awk -F. ' { gsub( /\./,"_"); print $0 }'

<***@gmail.com> escribi� en el mensaje news:db6dbfb2-a17d-4ba1-a693-***@f3g2000hsg.googlegroups.com...

Todo ha funcionado muy bien, gracias a todos. Ahora solo necesito algo
que me convierta los puntos de los archivos que tienen más de uno a
"_", o sea.

Si es:

documentacion.2007.doc

quede:

documentacion_2007.doc
achesere
2007-11-16 13:39:14 UTC
Permalink
ls -1|awk -F. ' { if (NF > 2) { gsub( /\./,"_"); print $0} }'

Falto la condición.
Post by achesere
ls -1|awk -F. ' { gsub( /\./,"_"); print $0 }'
Todo ha funcionado muy bien, gracias a todos. Ahora solo necesito algo
que me convierta los puntos de los archivos que tienen más de uno a
"_", o sea.
documentacion.2007.doc
documentacion_2007.doc
achesere
2007-11-16 13:41:48 UTC
Permalink
Nones, porque se establece lo siguiente:

"Necesito un script que me diga los archivos que aparte del punto final
tienen otros en el nombre"

Probé tu propuesta y muestra todos los archivos, incluso los que tienen sólo
un punto.

Por otra parte, no conocia el $n. Lo buscaré.

Saludos cordiales.

HSR
Post by Yi Ci
Post by achesere
Con el viejo y querido awk.
ls -1|awk -F. ' { if (NF > 2) print $0 }'
ls -1 es para que salga un nombre de archivo por línea
No seria mejor
ls -1|awk -F. ' { print $n }'
n***@gmail.com
2007-11-16 15:46:23 UTC
Permalink
Post by achesere
"Necesito un script que me diga los archivos que aparte del punto final
tienen otros en el nombre"
Probé tu propuesta y muestra todos los archivos, incluso los que tienen sólo
un punto.
Por otra parte, no conocia el $n. Lo buscaré.
Saludos cordiales.
HSR
Post by Yi Ci
Post by achesere
Con el viejo y querido awk.
ls -1|awk -F. ' { if (NF > 2) print $0 }'
ls -1 es para que salga un nombre de archivo por línea
No seria mejor
ls -1|awk -F. ' { print $n }'
Me lo está mostrando en la consola como pedí, o sea los puntos con _
pero lo que necesito es que me cambie el nombre del archivo como tal,
que cuando pase el script al ir a la carpeta los puntos menos el
último hayan sido sustituido por los _.

Saludos:

Nelio
achesere
2007-11-16 19:39:58 UTC
Permalink
ls -1|awk -F. ' { if (NF > 2) { ext=$NF; gsub( /\./,"_");
gsub("_"ext"$","."ext);print $0} }'

Loading...