Guardar la salida en un archivo de texto desde la terminal Mac

19

¿Cómo podría ingresar un comando, por ejemplo, system_profiler, y hacer que la salida se guarde en algún lugar de mi computadora?

JShoe
fuente

Respuestas:

38

Simplemente con redirección de salida :

system_profiler > file.txt

Básicamente, esto tomará la salida system_profilery la guardará en el archivo file.txt. Técnicamente, hay dos "flujos" de salida diferentes, salida estándar y error estándar. Se tratan por separado, y si utiliza el método de redirección simple anterior, solo redirigirá la salida estándar al archivo. Si desea redirigir tanto la salida estándar como el error estándar, puede hacer esto:

system_profiler &> file.txt

El &le dice al shell que redirija la salida estándar y el error estándar al archivo.

Si solo desea generar un error estándar, puede hacer esto:

system_profiler 2> file.txt

Esto le 2permite al shell saber que solo necesita redirigir el error estándar.

El uso de >sobrescribirá el archivo si ya está allí. Si desea agregarlo a un archivo sin borrar el anterior, puede usarlo >>así:

system_profiler >> file.txt

Por supuesto, puede usar el &y 2para enviar tanto el error estándar como el error estándar, y solo el error estándar con el >>operador.

Wuffers
fuente
2
& >> no parece funcionar en Mac Bash versión 3.2.48 (1) -release (x86_64-apple-darwin11). Yo cuando lo intento, dice -bash: syntax error near unexpected token >. Todo lo demás funciona.
Nacht
3

Redirección

awesomo > somefile.txt
Ignacio Vazquez-Abrams
fuente