Buscar y reemplazar texto en todos los archivos dentro de un directorio y todos los subdirectorios – TIP Linux

Si buscabas como reemplazar texto dentro de varios archivos en una sola linea de comando, has llegado a la web correcta. Muchas veces tenemos que buscar o hacer cambios a un texto determinado y para empezar no sabemos ni en cual archivo, documento o directorio puede estar.

Digamos que le cambiamos la dirección IP al servidor, o cambiamos de servidor web y es necesario hacer los cambios en todos los archivos de configuracion y los donde aparezca la IP del servidor anterior.

Para no estar buscando durante horas entre todos los archivos de nuestro servidor, les escribo aqui los distintos tips para reemplazar strings alfanumericos en linux.

  • Para reemplazar un texto o string cada vez que aparezca en los archivos:

~# find /path/directorio «*.txt» | xargs perl -pi -e ‘s/texto/reemplazo/g’

  • Para reemplazar la primera vez que aparezca el texto:

~# find /path/directorio «*.txt» | xargs perl -pi -e ‘s/texto/reemplazo/’

  • Para reemplazar todos los archivos dentro de un directorio:

~# for arg in `ls -C1`; do perl -pi -e ‘s/texto/reemplazo/g’; done;

Existe infinidad de combinaciones posibles utilizando el shell de la linea de comandos. Tomemos como ejemplo la primera busqueda:

~# for arg in `find /your/home/dir -name «*.txt»` ; do perl -pi -e ‘s/texto/reemplazo/g’ $arg; done;

Muchas veces solamente es necesario buscar un path o una cadena dentro de multitud de ficheros sobre todo en las migraciones, para ello usaremos los siguientes comandos:

grep Busca cadenas dentro de ficheros»» -n señala el nº de la linea donde está la cadena

Ejemplo: grep -n micadena *

Busqueda recursiva de una cadena dentro de multitud de ficheros:

grep -n micadena * -R

Juega al PRO 2010 (PES 2010) en Ubuntu / Linux

//img3.xooimage.com/files/c/5/4/pes2010_nosologeeks-da0d5c.jpg

Si quieres instalar esta la demo del Pro Evolution Soccer 2010 en tu Distribucion Ubuntu GNU/linux puedes seguir los siguientes pasos:

1. Instalar Wine, sino nada podriamos hacer.

2. Descarga y copia los archivos  d3dx9_36.dll y d3dx9_30.dll a la direccion /home/tu_usuario/.wine/drive_c/windows/system32 la descarga de estos archivos la puedes hacer desde dll-download.

3. Descarga el Demo del Juego, puedes hacerlo desde AQUÍ.

4. Instalar el Juego, puede que demore un poco.

5. Abre el settings.exe para que configures las opciones de resolucion, sonido, etc.

6. A jugar

Dentro de los errores que se observan el único es que el menú principal aparece distorsionado, pero el juego se ejecuta muy bien.

Katana – Recopilación de las mejores distribuciones Linux para la seguridad

//www.hackfromacave.com/pictures/katana_boot.gif

Katana es una súper herramienta que recopila las mejores distribuciones de seguridad informática en una sola, para después instarlas en una memoria USB y poder bootear con cualquiera de ellas en la computadora que queramos.

Con estas herramientas podremos obtener claves WEP de internet, asi como robar y violar contraseñas de windows XP / Vista entre muchas otras cosas.

Katana 1.0 incluye las siguientes distribuciones:

  • Backtrack 3
  • Backtrack 4 beta
  • the Ultimate Boot CD
  • Organizational Systems Wireless Auditor (OSWA) Assistiant
  • Slax 6
  • Ophcrack XP
  • Ophcrack Vista
  • Damn Small Linux
  • Damn Vulnerable Linux

Como instalar Katana en una memoria USB

Su instalación es muy sencilla solo tenemos que descargar el archivo, descomprimirlo dentro de nuestra memoria USB y luego ejecutamos el archivo boostinst.sh

Descarga Katana

Más información y sitio oficial de descargas – katana

Restablecer los permisos predeterminados en el directorio del virtualhost en Plesk

Síntomas

Algunos archivos y directorios del dominio han perdido sus permisos. Varios de ellos son propiedad del usuario “apache” o “root” de Apache.

Por ejemplo:

# ls -l /var/www/vhosts/blogofsysadmins.com/
total 48
drwx------ 5 apache     apache 4096 Mar 16 20:07 anon_ftp
drwx------ 2 root       psaserv 4096 Mar 16 20:07 bin
drwx------ 3 apache     apache 4096 Mar 16 20:07 cgi-bin
drwx------ 2 root       psaserv 4096 Aug  4 12:56 conf
drwx------ 2 root       psaserv 4096 Mar 16 20:07 error_docs
drwx------ 7 apache     apache 4096 Mar 16 20:07 httpdocs
drwx------ 7 apache     apache 4096 Mar 16 20:07 httpsdocs
drwx------ 2 root       psaserv 4096 Aug  4 12:56 pd
drwx------ 2 root       root    4096 Mar 16 20:07 private
dr-x------ 7 root       psaserv 4096 Mar 16 20:07 statistics
drwx------ 2 root       psaserv 4096 Mar 16 20:07 subdomains
drwx------ 2 root       psaserv 4096 Mar 16 20:07 web_users
~#

Cuando intento cargar archivos a través del Administrador de Archivos o de un cliente FTP, obtengo los errores «Permiso denegado» o «Acceso denegado«.

Resolución

Use la utilidad «vhostmng» para restablecer los permisos. El comando a ejecutar es el siguiente:

~# /usr/local/psa/admin/sbin/vhostmng --install-vhost --vhost-name=<domain name> --user-name=<username> --set-content-permissions

Donde <domain name> es el dominio donde deben restaurarse los permisos y <username> es el usuario FTP del dominio configurado en Parallels Plesk Panel en la página Dominios -> <domain name> -> Opciones de Alojamiento Web (versión 9.x) o Dominios -> <domain name> -> Configuración (versión 8.x).

El comando restaurará los permisos predeterminados en el directorio del virtualhost:

drwxr-x--- 5 ftp_user   psaserv 4096 Mar 16 20:07 anon_ftp
drwxr-xr-x 2 root       psaserv 4096 Mar 16 20:07 bin
drwxr-x--- 3 ftp_user   psaserv 4096 Mar 16 20:07 cgi-bin
drwxr-x--- 2 root       psaserv 4096 Aug  4 12:56 conf
drwxr-xr-x 2 root       psaserv 4096 Mar 16 20:07 error_docs
drwxr-x--- 7 ftp_user   psaserv 4096 Mar 16 20:07 httpdocs
drwxr-x--- 7 ftp_user   psaserv 4096 Mar 16 20:07 httpsdocs
drwxr-x--- 2 root       psaserv 4096 Aug  4 12:56 pd
drwx------ 2 ftp_user   root    4096 Mar 16 20:07 private
dr-xr-x--- 7 root       psaserv 4096 Mar 16 20:07 statistics
drwxr-xr-x 2 root       psaserv 4096 Mar 16 20:07 subdomains
drwxr-xr-x 2 root       psaserv 4096 Mar 16 20:07 web_users

Todo sobre Google Wave

Hoy en el Google I/O fue presentado Google Wave. Definirlo es complicado, pero de entrada hace obsoleto Gmail, Basecamp, Facebook, Office, Messenger, Flickr y los Wikis. Una «wave» es mitad conversación, mitad documento. Un email que se convierte en wiki, que se convierte en centro de conversación, que se convierte en un trabajo final, que hasta puede convertirse en un blogpost.

Lo que vimos es un preview para desarrolladores, pero de entrada podemos decir, sin dudas, que las tecnologías detrás de Google Wave cambiarán la web en el próximo año, de la misma manera que Gmail creó la Web 2.0.


Todo está basado en el navegador, HTML 5

Google está empujando MUY fuerte a HTML 5. Primero con la versión de Gmail para iPhone, luego con todas las novedades de Android y ahora con Google Wave.

Sin embargo, no son idiotas y saben que si quieren éxito, han de poder implementar esto en todos los navegadores. Por lo que desde ahora, todo navegador con el plugin Google Gears instalado obtendrá mágicamente las habilidades de HTML 5. Bases de datos offline, Canvas de dibujo vectorial (nada de SVG o SWF), videos nativos, etc.

Pero no se contentaron con HTML 5. Crearon una nueva tecnología para navegadores…

Drag and drop en el navegador

Imagina arrastrar una carpeta llena de fotos desde tu escritorio encima del navegador y subir automáticamente a Facebook o a Flickr todas esas fotos, son más clicks ni procesos que el arrastras y soltar. Eso es posible ya mismo en Google Wave. Es una de las capacidades que Gears incluirá para los navegadores, pero Google ya envió la proposición a W3C para ser incluido en el draft definitivo de HTML 5. Y ya vendrá implementado en las próximas versiones de Webkit, Google Chrome y Firefox.

Chat, edición y colaboración en tiempo real

Un nuevo protocolo de comunicación instantánea, aparentemente más veloz que lo que hemos visto en sistemas de mensajería como messenger o Google Talk, llamado Wave Protocol, está detrás de varias innovaciones de Google Wave.

Imagina ir respondiendo un mensaje en Messenger y ver letra por letra lo que escribe la otra persona. Luego extiendelo a la edición de un documento. Donde cuatro personas pueden estar trabajando sobre el mismo documento, al mismo tiempo, en tiempo real. O quizás retocando una fotografía y dando comentarios punto por punto en cada zona modificada.

Y todo centrado en un «wave», la visión de Google del futuro del email.

Publicación a blogs y otras plataformas de contenido

¿Cuantas veces una serie de emails se convierten en un post de blog? ¿Cuantas veces la cadena de correos que escribiste con el jefe se vuelven un comunicado de prensa o una carta para clientes? Google Wave toma todo este contenido, lo centraliza en un «wave» y tras terminar su edición (con colaboración en tiempo real), es posible publicarlo a un .doc, convertirlo a PDF, enviarlo por correo tradicional, ponerlo en blogger o en una multitud de plataformas, como quieras. Incluso exportarlo a HTML o a texto plano.

Además, el API de Google Wave permitirá que esta plataforma se conecte, virtualmente, a lo que te imagines.

Google Wave puede ser integrado en cualquier sitio web

Tomando una nota de Friendfeed, la capa de comentarios en tiempo real puede ser instalada en CUALQUIER sitio web, embebible. De modo que puedes poner comentarios realtime y colaboración en tu blog, foro o donde sea. Esta cosa tiene que cambiar la forma que usaremos internet y la centralización de las conversaciones.

Es posible hacer enlaces profundos entre emails y contenido o WaveLinks

¿Has imaginado poder hacer un link profundo a un email que enviaste antes para que todos los que lo leen tengan la referencia? Hasta ahora la unica forma era copypaste, pero Google Wave permite esto tan nativa e intuitivamente que es inevitable no hacerlo.

Un nuevo corrector ortográfico basado en la inteligencia artificial de Google Translator

Hace un año, Google analizó cientos de miles de libros escritos en varios idiomas, traducidos profesionalmente por humanos. Creo una serie de algoritmos que analizaran las conversaciones en esos libros y, usando este mapa de conocimiento, traducir cualquier tipo de conversación basada en el contexto.

Pues ahora los cabrones han tomado esta tecnología y han creado un corrector ortográfico que es capaz de analizar y entender el contexto de la conversación y corregir a un nivel que, honestamente, jamás se ha visto. Errores ortográficos, gramaticales o incluso de contexto.

Google Wave tiene gadgets colaborativos

Con el API abierto de Google Wave es posible crear aplicaciones para Wave. Las aplicaciones son básicamente widgets incrustables dentro de los «waves». Pero sumándole la colaboración realtime y el historial de modificaciones, se crean interesantes posibilidades.

Imagina incrustar un juego de ajedrez. Dos personas juegan, pero para Google, cada movimiento del juego es una edición a un documento. De modo que si quieres dar un replay a una jugada, vas a una linea de tiempo colaborativa, mueves para adelante y atrás y ves estos cambios volviendo a ocurrir.

Los gadgets están hechos en Javascript y HTML 5.

Mapas colaborativos y «grabables»

Toma lo que dije de los gadgets y aplicalo a un mapa. Puedes grabar con instrucciones detalladas y comentarios una ruta en un mapa de Google Maps, enviar el «wave» a tu madre y decirle cómo llegar a tu nuevo apartamento, paso a paso.

Encuestas, formularios y minería de datos a través de waves

Es posible enviar formularios en waves y permitirle a Google Wave recibir, indexar y analizar la información que los destinatarios del wave llenen. De modo que puedes enviar una encuesta de calidad a todos tus empleados y ver en tiempo real las respuestas de ellos, quien ha respondiendo, quien no.

Sumale Google Charts y puedes tener gráficos analiticos de los resultados recibidos. Por supuesto, en tiempo real.

Google Wave Server, Google Wave instalable en tu servidor

Google Wave Server es Open Source. Puedes descargarlo e instalarlo en el servidor de la oficina, reemplazar el correo con waves y tener todo en tu empresa. Puedes personalizarlo con los colores y logos de tu empresa, crear una intranet… lo que sea. Es open source. Sólo necesitas un server Linux (o quizás windows, si está hecho en Java).

Fuck… instalable en tu propio servidor, open source…

Traducción real-time de lo que escribes

¿Recuerdan el corrector ortográfico con inteligencia artificial. Ahora, si hablas ahora mismo con un japones al otro lado del mundo, puedes hablarle en español y decirle a Google Wave que traduzca en tiempo real la conversación a japones para él. Él, por supuesto, puede hacer lo mismo.

Va de nuevo: Conversación entre dos idiomas diferentes con traducción en tiempo real. Si esto funciona a un 80% de calidad y llega al mainstream, cambiará el comercio y la conectividad del mundo a un nivel doloroso.

¿Cuando está disponible esto?

Hay invitaciones para la beta privada de Google Wave. Por lo que hemos escuchado en la rueda de prensa, aun es un trabajo en proceso y faltan muchas cosas, cómo ¿Cómo se borra un wave? ¿Quien es el dueño de un wave? Pero a medida que estas cosas terminen, seguro empezará a estar disponible para el público pronto.

Sospecho que en un año tendremos versión definitiva instalable en nuestros servers para todos.