¿Por qué es útil sort -o?

Pregunta:

La filosofía de UNIX dice: haz una cosa y hazla bien. Cree programas que manejen texto, porque esa es una interfaz universal.

El comando sort , al menos GNU sort, tiene una opción -o para enviar a un archivo en lugar de stdout . ¿Por qué, digamos, sort foobar -o whatever útil cuando podría sort foobar > whatever ?

Respuesta:

No es solo el tipo GNU el que lo tiene. El tipo BSD también lo tiene. ¿Y por qué?
(Yo también pensé que era una buena pregunta …)

De la página del manual: "El argumento dado es el nombre de un archivo de salida que se utilizará en lugar de la salida estándar. Este archivo puede ser el mismo que uno de los archivos de entrada".

No puede ir al mismo archivo con la redirección, la redirección de salida borra el archivo.

Para aclarar más, si quisiera ordenar un archivo y poner los resultados ordenados en el mismo lugar, podría pensar en probar sort < foo > foo . Excepto que la redirección de salida trunca el archivo foo en preparación para recibir la salida. Y luego no hay nada que ordenar. Sin "-o" la forma de hacerlo sería sort < foo > bar ; mv bar foo . Supongo que la opción -o hace algo similar sin que tengas que preocuparte por ello.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım