Buscar y Reemplazar Cadenas en Diferentes Ficheros con Linux

Hace poco me encontré con la necesidad de reemplazar una cadena de texto en una gran cantidad de ficheros PHP distribuidos en diferentes subcarpetas. Después de algunas búsquedas e intentos fallidos encontré el siguiente comando que me permitió lograrlo con relativa sencillez:

find /home/miguel -name "*.php" -print | xargs sed -i 's/foo/bar/g'

Este comando buscará todos los ficheros PHP en la carpeta ‘/home/miguel’ y sus subcarpetas y en cada uno sustituirá todas las ocurrencias de la cadena ‘foo’ con la cadena ‘bar’.

Como podemos observar el comando consta de diferentes componentes:

  1. find /home/miguel -name "*.php" -print -> Este comando se encarga de encontrar todos los ficheros de tipo PHP que se encuentran dentro de la carpeta /home/miguel y sus subcarpetas mostrando las rutas absolutas por pantalla.
  2. xargs permite enviar diferentes argumentos a un mismo comando, de tal forma que para cada fichero encontrado por find, se ejecutará un comando nuevo relacionado con el mismo. En este caso se pasara como argumento al comando sed.
  3. sed -i 's/foo/bar/g' -> sed (Stream Editor) permite realizar transformaciones de texto en una fuente de datos de entrada. En este caso, sustituirá la cadena ‘foo’ por la cadena ‘bar’ en todas las ocurrencias de cada fichero que se le pase como argumento.

A continuación os dejo enlaces con más información de los diferentes comandos utilizados:

Instalar Pidgin en Debian Lenny

Hace poco he instalado Debian en mi ordenador, y como siempre que me meto con esta distribución, he tenido una infinidad de problemas a la hora de dejar el sistema a mi gusto.

Uno de los más leves ha sido el hacer funcionar pidgin, pues la versión que se encuentra en los repositorios de Debian es una versión ya obsoleta y algunos de los protocolos no están actualizados, de tal manera, que por ejemplo, MSN, no funciona correctamente, y si se intenta instalar desde los sources originales de la página oficial de pidgin, uno se encuentra con infinidad de incompatibilidades y paquetes externos que hay que instalar antes de instalar éste.

Bueno, como siempre nuestro amado google me ha sacado del apuro, y comparto la información que he econtrado, que funciona al 100%, con sonido incluído, que es otro de los problemas que me han surgido en otras ocasiones.

INSTRUCCIONES

  1. Abrir Terminal en Modo Root
  2. Agregamos BackPorts
    1. nano /etc/apt/sources.list
    2. Agregamos lo siguiente al final del fichero:
      1. #BackportsLenny
        deb http://www.backports.org/debian lenny-backports main contrib non-free
      2. Guardamos con Ctrl+O y salimos con Ctrl+X
    3. apt-get update
    4. apt-get install debian-backports-keyring
  3. Instalamos Pidgin
    1. apt-get remove pidgin
    2. apt-get install -t lenny-backports pidgin

Eliminar de un Fichero el ^M característico de Windows

En el momento en el que editamos un script en windows, o el mismo sistema accede a él para analizarlo por virus, etc. por alguna razón inexplicable añade al inicio del fichero el carácter ^M de DOS que evita su ejecución posterior en cualquier shell de linux.

Para solucionar esto he encontrado este script que podréis utilizar para “limpiar” vuestros ficheros:

#!/bin/sh
#Nombre del Fichero: undos.sh
if [ $# -eq 0 ]
then
echo "Uso: undos [archivo]"
fi

for file
do
tr -d '15' <$file >/tmp/.undos.$$
mv /tmp/.undos.$$ $file
done

Ejecución:

usuario@localhost:~$ undos 

Crackea Contraseñas WEP de Redes Wifi con BackTrack 4

El Conocimiento es poder, pero el poder no significa que tengas que ser un imbécil, o hacer algo ilegal. Saber como forzar una cerradura no te convierte en un ladrón. Considera este vídeo como algo educacional.

Instalar GNU/Linux desde USB

Uno de los mayores problemas a los que se enfrenta un usuario al intentar instalar una distribución de Linux, (aparte de la propia instalación), es encontrar un dichoso CD para grabar las imágenes de las versiones NetInstall de las diferentes distribuciones, XD. Para todos aquellos que comprendan esta situación, les traigo una aplicación con la que podrán crear facilmente un USB autoarrancable para poder instalar cualquier distribución de Linux.

Lo mejor de esta aplicación es que nos permite instalar en el USB la imagen de la distribución que nosotros mismos nos hayamos bajado, o seleccionar entre una lista de distribuciones y versiones que el propio programa trae de por si. +

DESCARGAR