LinuxParty
Hoy me vi en la tarea de buscar una función de WordPress, pero como hacer para no tener que estar revisando cada archivo hasta encontrarla?
Si bien no existe un comando directo (aplicaciones no se) en linux para buscar cadenas de texto, lo podemos hacer mediante los comandos find, xargs y grep de la siguiente forma:
$ find /ruta/donde/buscar/ -name * | xargs grep "cadena a buscar"
Si tuvieras que buscar el contenido en nombres de ficheros que contengan espacios, entonces usa:
find . -iname "*.txt" | awk '{print "\""$0"\""}' | xargs grep "cadena a buscar"
Aunque la sintaxis es bastante clara y podemos ver el manual de cada comando en consola (con man comando) veamos es es lo que quiere decir esto:
- find realiza una lista de los ficheros de la ruta especificada. En este caso va a listar todos, pero si queremos buscar solo archivos de cierta extensión, solo hay que cambiar el asterisco (*) por el tipo de archivo deseado, por ejemplo *.php.
- | pasa la salida del comando anterior al siguiente.
- xargs toma la lista que resulta de find y la va pasando como llamadas consecutivas a grep.
- Y por ultimo, grep busca "cadena a buscar" dentro de los ficheros que le pasa xargs, buscados a su vez por find.
Esta, sería un ejemplo de la ayuda de xargs:
[javier @ localhost ~] $ xargs --help Uso: xargs [OPCIÓN] ... COMANDO [INITIAL-ARGS] ... Ejecute COMMAND con argumentos INITIAL-ARGS y más argumentos leídos de la entrada. Los argumentos obligatorios y opcionales para opciones largas también son obligatorio u opcional para la correspondiente opción corta. -0, --null los elementos están separados por un nulo, no por un espacio en blanco; deshabilita el procesamiento de cotizaciones y barras invertidas y procesamiento lógico de EOF -a, --arg-file=ARCHIVO Leer argumentos de ARCHIVO, no entrada estándar -d, --delimiter=CARACTER Los elementos en el flujo de entrada están separados por CARÁCTER, no por espacios en blanco; deshabilita la cita y la barra invertida procesamiento y procesamiento lógico de EOF -E END Establece la cadena EOF lógica; si END aparece como una línea de entrada, el resto de la entrada se ignora (ignorado si se especificó -0 o -d) -e, --eof [=END] Equivalente a -E END si se especifica END; de lo contrario, no hay una cadena de fin de archivo -I R Igual que --replace=R -i, --replace [=R] Reemplaza R en INITIAL-ARGS con nombres leídos de entrada estándar; si R no está especificado, asumir {} -L, --max-lines=MAX-LINES Use como máximo MAX-LINES líneas de entrada no en blanco por línea de comando -l[MAX-LINES] Similar a -L pero por defecto es como máximo uno que no- línea de entrada en blanco si no se especifica MAX-LINES -n, --max-args=MAX-ARGS Usa como máximo argumentos MAX-ARGS por línea de comando -P, --max-procs=MAX-PROCS Se ejecuta en la mayoría de los procesos MAX-PROCS a la vez -p, --interactivo Pregunta antes de ejecutar comandos --process-slot-var=VAR Establece la variable de entorno VAR en procesos secundarios -r, --no-run-if-empty Si no hay argumentos, entonces no ejecute COMMAND; si no se da esta opción, COMMAND será correr al menos una vez -s, --max-chars=MAX-CHARS Limita la longitud de la línea de comando a MAX-CHARS --show-limits Muestra los límites en la longitud de la línea de comandos -t, --verbose Comandos de impresión antes de ejecutarlos -x, --exit Exit si se excede el tamaño (ver -s) --help Mostrar esta ayuda y salir --version información de la versión de salida y salida
Si te interesan conocer las Expresiones Regulares en Linux, mira nuestro mini-tutorial.

-
Linux
- Linus Torvalds activa el “modo centinela” ante posibles amenazas al kernel de Linux
- 5 factores que impulsan el auge imparable del escritorio Linux
- 'Fin del 10' ofrece esperanza y ayuda a los usuarios de Windows 10 que no pueden actualizar
- Ejecutar Linux en un Intel 4004: La increíble hazaña de Dmitry Grinberg, tarda 5 días en arrancar.
- Cómo borrar la caché y los archivos temporales en Linux para acelerar el sistema rápidamente
- Cambiar la hora en Linux con Chrony
- Ejecutar Aplicaciones Gráficas Remotas en Local: Guía Completa en Linux
- Linux 6.14 ya disponible: Mayor compatibilidad con Windows, Mejoras en gaming, IA y rendimiento para AMD e Intel"
- Zorin OS 17.3, basado en Ubuntu, ya está disponible para usuarios de Windows 10.
- La distribución de Linux KaOS 2025.03 se lanzó con KDE Plasma 6.3 y Linux Kernel 6.13
- Compartir archivos en la red LAN, sin nada, todo con un simple script en Python
- Free10: La mejor alternativa gratuita a Windows 10 basada en Linux