Me gustaría crear una lista ordenada de todos los servicios TCP que se encuentran en el archivo /etc/services
, canalizar la salida del comando grep tcp /etc/services
al comando sort
y luego redirigir la salida de esta canalización al archivo ~/pipelab.txt
.
Sigo recibiendo un mensaje de error que indica que mi resultado es incorrecto y no sé por qué.
Esto es lo último que probé:
grep tcp /etc/services > ~/pipelab.txt | sort
Respuesta1
Estás intentando redirigir la salida grep
a un archivo.ycanalícelo a sort
. No puedes hacer eso, al menos no así.
En cambio, lo que realmente desea es alimentarlo para ordenar:
grep tcp /etc/services | sort
y luego quieres redirigir elordenadosalida (es decir, lo que sale de la clasificación) a un archivo, por lo que coloca la redirección después de la clasificación:
grep tcp /etc/services | sort > ~/pipelab.txt
Tanto las canalizaciones como las redirecciones funcionan cambiando el lugar donde va la salida del comando. Tenías a dos de ellos peleando por el resultado grep
(y finalmente, ganó la redirección y escribiste el resultado sin clasificar en tu archivo).
Respuesta2
> ~/pipelab.txt
Obviamente pertenece al comando del mismo lado del operador de la tubería |
. Es decir, redirige la grep
salida al archivo en lugar de canalizarla a sort
:
grep tcp /etc/services | sort > ~/pipelab.txt