Comando para buscar y abrir (SOLUCIONADO)

Dudas y comentarios relacionadas con paquetes o programas específicos (obtención, uso, actualizaciones, versiones, problemas de instalación, etc.)

Moderadores: doc, Deckon

Responder
Avatar de Usuario
greer
Forista Medio
Forista Medio
Mensajes: 334
Registrado: Mar Feb 27, 2007 8:00 am
Ubicación: PANAMA

Comando para buscar y abrir (SOLUCIONADO)

Mensaje por greer » Sab May 11, 2013 1:47 am

Hola, hoy buscando por toda la internet y en el manual, algun ejemplo del uso de find

Encontre en parte lo que buscaba:

Código: Seleccionar todo

find Desktop/archivos/ -iname "*.txt" -exec gedit {} \;
Si bien busca todos los archivos TXT solo me abre el primero y hasta que no cierre el primer archivo este no me abre el segundo TXT encontrado...

Lo que busco es poder abrir todos los TXT con el programa gedit o cualquier archivo, todos a la vez.

Alguien que tenga conocimiento del tema me de una ayudita de como podria poner el comando para abrir todos los archivos en gedit y no uno por uno como lo hace el comando que puse arriba.

Saludos.
Última edición por greer el Lun May 13, 2013 5:24 pm, editado 1 vez en total.
http://greermurray.com
Avatar de Usuario
macondo
Forista Medio
Forista Medio
Mensajes: 407
Registrado: Dom May 29, 2005 7:00 am
Ubicación: Panamá

Re: Comando para buscar y abrir

Mensaje por macondo » Sab May 11, 2013 2:37 am

Hmm, no sé hacer eso, pero qué pasa si abres cada programa.txt con gedit? y los dejas abiertos, luego vas de programa en programa y lo editas o lo que tengas pensado hacer? total, sólo puedes editar uno al mismo tiempo :)
A lo mejor, no entendí tus intenciones...
debian wheezy / minimal install / icewm / vimperator
"Entre más lideo con gente, más quiero a mi perro" - Oscar Wilde
"No good deed will go unpunished" - Anonymous
Avatar de Usuario
greer
Forista Medio
Forista Medio
Mensajes: 334
Registrado: Mar Feb 27, 2007 8:00 am
Ubicación: PANAMA

Re: Comando para buscar y abrir

Mensaje por greer » Sab May 11, 2013 2:48 am

quiero poder buscar dentro de una carpeta, cientos de txt, js y php y necesito poder abrilos todos al mismo tiempo con gedit, en algunos txt, js y php necesito cambiar algunos valores y en otros, otros valores, encontre un plugins de gedit que me permite reemplazar palabras en todos los archivos abiertos.
http://greermurray.com
Avatar de Usuario
cuentos
Forista Distinguido
Forista Distinguido
Mensajes: 1088
Registrado: Mar May 03, 2011 7:09 am

Re: Comando para buscar y abrir

Mensaje por cuentos » Sab May 11, 2013 3:29 am

algo fácil para lo que quieres, te pones en el directorio donde están los *.txt.
y ejecutas en la terminal:

Código: Seleccionar todo

 gedit > ls *.txt 
lo probé como yo tengo muchos archivos xls. con
libreoffice > ls *.xls
y también con
gedit > ls *.xls
y en los dos me abrió un calc, o gedit por cada archivo, los gedit logicamente eran ilegibles por el formato.
Cuando mi maestro me reprendió, me dijo: Alejandro Magno a los 20 años conquistaba el mundo, Yo le conteste "si pero tenia de maestro a Aristóteles".
Twitter: @mcuentos
Avatar de Usuario
greer
Forista Medio
Forista Medio
Mensajes: 334
Registrado: Mar Feb 27, 2007 8:00 am
Ubicación: PANAMA

Re: Comando para buscar y abrir

Mensaje por greer » Sab May 11, 2013 3:50 am

mmm mira que lo intenté, pero me abrio fue un archivo en blanco llamado *.txt...

otra cosa que se me olvido, y es que dentro de ese directorio hay sub-directorios y dentro hay mas, etc... no se si ese sea el problema ?

con find me lo busca recursivamente... sigo buscando a ver que mas encuentro o hasta quizas tenga que hacer algun script ?
http://greermurray.com
Avatar de Usuario
doc
Forista Ancestral
Forista Ancestral
Mensajes: 3301
Registrado: Mié Ago 11, 2010 10:32 am
Ubicación: Oviedo-es_ES
Contactar:

Re: Comando para buscar y abrir

Mensaje por doc » Sab May 11, 2013 11:09 am

hay un principio metodológico que se llama 'la navaja de Ockham' que viene a decir que el camino más sencillo suele ser el más correcto. Yo creo que de ahi deriva el famoso principio KISS.

Pero, al grano... lo que dice cuentos funciona perfectamente. ¿que tienes que ir subcarpeta por subcarpeta...? bueno, tampoco es una gran pérdida de tiempo... porque tampoco creo que el editar esos 'cientos de *.txt' sea algo que tengas que hacer a diario...y a estas alturas ya lo hubieses tenido hecho.

Porque, además... no acabo de imaginar cómo sería un gedit con 'cientos de TXT' abiertos a la vez, en cientos de pestañas.
Avatar de Usuario
neurus
Forista Legendario
Forista Legendario
Mensajes: 1806
Registrado: Dom Oct 10, 2004 7:00 am

Re: Comando para buscar y abrir

Mensaje por neurus » Sab May 11, 2013 7:29 pm

El problema de la recursividad lo tratamos con Niky en un viejo post.
La forma más sencilla es siempre armar una lista de los archivos y luego trabajar sobre esa lista.
Ejemplo:

Código: Seleccionar todo

#!/bin/bash
DIRECTORIO="Desktop/archivos/"
LISTA=`tempfile`
find $DIRECTORIO -iname "*.txt" > $LISTA
while read line 
  do    
    gedit $line &
done <$LISTA
Dicho lo anterior, editar múltiples archivos utilizando gedit me parece un desastre.
En el peor de los casos, vi podría ser una opción (para eso tiene un modo comandos). De hecho, alguna vez lo he usado para cambiar la codificación en cientos de archivos.
Y lo más práctico es usar sed, que para algo se inventó.
Última edición por neurus el Dom May 12, 2013 9:13 pm, editado 2 veces en total.
Avatar de Usuario
greer
Forista Medio
Forista Medio
Mensajes: 334
Registrado: Mar Feb 27, 2007 8:00 am
Ubicación: PANAMA

Re: Comando para buscar y abrir

Mensaje por greer » Dom May 12, 2013 10:01 am

mmmm muy valido todo, tomo nota.

que tal doc, te cuento un poco aunque me salga del topico de este tema, en esos cientos de TXT (literlamente son 107) dentro de ellos hay nombres que hay que cambiar frecuentemente, por ejemplo: Hoy en los documentos el nombre es JUAN GONZALEZ, mañana hay que cambiarlo por ANTONIO NUÑEZ por decrite algo, y es muy agotador abrir archivo por archivo para cambiar el nombre, pero el problema no es ese, por que hay editores de texto o plugins para remplazar una palabra por otra en varios ducumentos abiertos a la vez.

el problema que tengo es poder abrir todos los archivos TXT a la vez, que no solo estan en un directorio sino en varios. Ejemplo: En el directorio "Documentos" hay 3 archivos TXT y dentro de ese directorio hay 5 directorios más, donde en cada directorios hay 7 archivos TXT y con otros directorios, etc...

Lo que yo busco es saber si hay algun comando que me abra todos los archivos que hay dentro y debajo del directorio en el cual quiero buscar.

El comando:

Código: Seleccionar todo

find Desktop/documentos/ -iname "*.txt" -exec gedit {} \;
hace exactamente eso, me busca todos los archivos TXT que hay dentro de ese directorio y todos los que estan dentro de sus subdirectorios y me los abre con el programa gedit.

pero! solo me abre un archivo TXT a la vez y hasta que no cierre el primero no me abre el otro, mientras lo que yo busco es saber que parametro debo agregarle a ese comando para que me abra todos los archivos encontrados en un solo gedit y no uno por uno.

Hay algun parametro que pueda agregarle a ese comando para poder abrirlos todos con el programa gedit y que se abran todos a la vez ? o no se puede, o tengo que hacer algun script que lo haga ?
http://greermurray.com
Avatar de Usuario
hmg79
Forista Legendario
Forista Legendario
Mensajes: 2211
Registrado: Lun Mar 31, 2008 8:00 am

Re: Comando para buscar y abrir

Mensaje por hmg79 » Dom May 12, 2013 3:40 pm

Entonces lo que buscas es reemplarzar palabras en esos archivos?, si es eso nuerus te dio la respuesta, con sed lo haces sin tener que abrir con gedit y es mas rapido, salvo que tengas que revisar realmente archibo por archivo.-
Avatar de Usuario
greer
Forista Medio
Forista Medio
Mensajes: 334
Registrado: Mar Feb 27, 2007 8:00 am
Ubicación: PANAMA

Re: Comando para buscar y abrir

Mensaje por greer » Dom May 12, 2013 8:26 pm

hola hmg79

Lo que yo busco es abrir varios archivos y abrirlos todos con gedit a la vez y no uno por uno, yo solo busco eso mas nada.

Hay algun comando para hacer eso ?

este comando lo hace pero no los abre todos a la vez:

Código: Seleccionar todo

find Desktop/documentos/ -iname "*.txt" -exec gedit {} \;
¿ hay algun parametro que pueda agregar al comando de arriba para hacerlo O no se puede O tengo que usar otro O hacer algun script?

Recuerdo nuevamente el titulo de este topic, que solo necesito un comando para hacer eso, no para remplazar nada, eso ya lo tengo resuelto.

alguien que sepa de comandos si es posible lo que busco o si no es posible o si tengo que usar otro comando o si tengo que ayudarme con un script ?

Saludos.

y disculpen si no me hice entender.
http://greermurray.com
Avatar de Usuario
cuentos
Forista Distinguido
Forista Distinguido
Mensajes: 1088
Registrado: Mar May 03, 2011 7:09 am

Re: Comando para buscar y abrir

Mensaje por cuentos » Dom May 12, 2013 8:29 pm

greer escribió:

¿ hay algun parametro que pueda agregar al comando de arriba para hacerlo O no se puede O tengo que usar otro O hacer algun script?



alguien que sepa de comandos si es posible lo que busco o si no es posible o si tengo que usar otro comando o si tengo que ayudarme con un script ?

Saludos.

y disculpen si no me hice entender.
Creo que neurus ya te dio un script mas arriba.
Saludos.
Cuando mi maestro me reprendió, me dijo: Alejandro Magno a los 20 años conquistaba el mundo, Yo le conteste "si pero tenia de maestro a Aristóteles".
Twitter: @mcuentos
Avatar de Usuario
hmg79
Forista Legendario
Forista Legendario
Mensajes: 2211
Registrado: Lun Mar 31, 2008 8:00 am

Re: Comando para buscar y abrir

Mensaje por hmg79 » Dom May 12, 2013 10:21 pm

Lee lo que coloco neurus, asi de simple, la respuesta mas optima para ambas situaciones es la que el dice, tanto como para abrir todos los documentos de una ves, o realizar el reemplazo en todos los documentos sin tener que abrirlos utilizando sed.-
Avatar de Usuario
greer
Forista Medio
Forista Medio
Mensajes: 334
Registrado: Mar Feb 27, 2007 8:00 am
Ubicación: PANAMA

Re: Comando para buscar y abrir

Mensaje por greer » Lun May 13, 2013 5:23 pm

Gracias a todos y si, el script de neurus funciono perfecto! disculpen mi ignorancia, pero no lo habia visto.

Antes de verlo y probarlo estuve buscando algun metodo y en un blog en ingles descubri lo que necesitaba y que era el motivo de este tema.

el comando que habia puesto anteriormente era:

Código: Seleccionar todo

find Desktop/archivos/ -iname "*.txt" -exec gedit {} \;
si bien hacia lo que buscaba, solo me abria uno por uno los archivos y hasta no cerrar el primero no me abria el segundo y asi...

segui buscando y ver si le agregaba algun paramtro para poder abrirlos todos a la vez con algun editor de texto y me encontre que para hacerlo tenia que quitar el "cierre de comando y poner el signo +"

Código: Seleccionar todo

find Desktop/documentos/ -iname "*.txt" -exec gedit {} +
y si quiero abrir mas de un archivo o extenciones:

Código: Seleccionar todo

find Desktop/documentos/ -type f \( -iname "*.txt" -o -name "*.js" -o -name "*.html" -o -name "*.php" -o -name "*.css" -o -name "*.ini" -o -name "*.sql" -o -name "*.inc" \) -exec gedit {} +
Saludos.
http://greermurray.com
Responder
  • Similar Topics
    Respuestas
    Vistas
    Último mensaje