Redireccionar la salida y la entrada de los datos

Ahora que tenemos claro que se entiende por salida y entrada estándar, es la hora de profundizar en algunos conceptos.

redireccionar significa cambiar todo aquello que la shell considera como salida estándar y entrada estándar.

Hemos utilizado cat para proporcionarle un ejemplo de salida y entrada estándar. Ahora utilizamos cat para mostrarle cómo es posible redireccionar la salida estándar.

Para redireccionar la salida estándar, usaremos el símbolo >. Poniendo > después del comando cat (o después de cada programa que escriba en la salida estándar) se direcciona la salida en el fichero indicado después este símbolo.

Intentémoslo. En una ventana Xterm, teclee:

[newuser@localhost newuser]$ cat > sneakers.txt
buy some sneakers
then go to the coffee shop
then buy some coffee
	  

Figura 15-12. Redireccionar la salida estándar en un fichero

Ahora pulse la tecla Enter para ir a una línea vacía y utilice la tecla Ctrl-D para salir de cat.

¿Ha notado la diferencia (vea Figura 15-12)? No ha sido visualizado nada porque la salida estándar de cat ha sido redireccionado en el fichero llamado sneakers.txt.

Encontrará el fichero en su directorio de login (le aconsejamos usar ls si quiere visualizarlo).

Puede utilizar cat para leer el fichero tecleando:

cat sneakers.txt
	  

en el prompt.

AtenciónAtención
 

Tenga cuidado cuando redirecciona la salida estándar en un fichero, porque ¡podría sobrescribir un fichero existente! Compruebe que el nombre del fichero que está creando no sea igual a uno que ya existe, si no quiere sobrescribirlo.

Redireccionemos la salida hacia otro fichero y llamémoslo home.txt.

[newuser@localhost newuser]$ cat > home.txt
bring the coffee home
take off shoes
put on sneakers
make some coffee
relax!
	  

Ahora en una línea vacía, utilice las teclas Ctrl-D para salir de cat.

Podemos visualizar otra vez el fichero tecleando:

cat home.txt
	  

en el prompt.

Utilice cat para unir home.txt con sneakers.txt y redireccionemos la salida de los dos ficheros en otro fichero nuevo que llamaremos saturday (encontrará un ejemplo de ello en Figura 15-13).

[newuser@localhost newuser]$ cat sneakers.txt home.txt > saturday
	  

¡Hecho!

Figura 15-13. Unir los ficheros y redireccionar la salida

Para ver el resultado, teclee:

[newuser@localhost newuser]$ cat saturday
	  

debería ver algo parecido a lo que sigue:

[newuser @localhost newuser]$ cat saturday
buy some sneakers
then go to the coffee shop
then buy some coffee
bring the coffee home
take off shoes
put on sneakers
make some coffee
relax!
[newuser @localhost newuser]$
	  

Habrá notado que cat ha añadido home.txt donde termina sneakers.txt.

SugerenciaUnir ficheros con cat
 

Crear y unir ficheros con cat puede ser una buena solución alternativa para un editor de textos como Pico.

SugerenciaResumen
 

Usando el símbolo > puede enviar la salida de un fichero a un terminal. La utilidad cat puede ser utilizada para redireccionar la salida o para unirlo a otro fichero.