lunes, 4 de febrero de 2013

Ejecutar un comando linux dentro de otro comando linux.




En este caso vamos a ver cómo ejecutar un comando linux dentro de otro comando linux. En concreto, en el ejemplo veremos como copiar todos los archivos resultantes de hacer un búsqueda con el comando grep. Primero veamos sólo la parte de la búsqueda:


Buscar todos los archivos que contengan una palabra determinada:


grep -r -l "palabra" ruta



Ejemplo:

grep -r -l "tomate" /home/usuario/



Copiar todos los archivos que contengan una palabra determinada:

Aquí es cuando vamos a embeber (osea, incrustar o insertar) el comando grep dentro del comando cp, es decir vamos a ejecutar la salida del comando grep como parte del comando cp:

cp $(grep -r -l "palabra" ruta1) ruta2


 
Ejemplo:

cp $(grep -r -l "tomate") /home/usuario



Tomando como ejemplo lo anterior, podemos construir comandos que a su vez contengan internamente otros, lo que da lugar a crear operaciones complejas a partir de comandos sencillos.




2 Comentarios:

Barquisimeto dijo...

A menudo se puede hacer en una sola linea, lo que normalmente ocupamos en un script de shell de 34. La magia de Unix.

Felipe Martínez D. dijo...

Efectivamente Barquisimeto. La versatilidad del terminal y los scripts es infinita.

Saludos.

Publicar un comentario

Felinfo: Java, Linux, Virtualización. Open Source.  ©Template Blogger Green by Dicas Blogger .

TOPO