Enregistrer la sortie dans un fichier texte à partir du terminal Mac

19

Comment pourrais-je entrer une commande, disons system_profiler, et faire enregistrer la sortie quelque part sur mon ordinateur?

JShoe
la source

Réponses:

38

Simplement avec la redirection de sortie :

system_profiler > file.txt

Fondamentalement, cela prendra la sortie de system_profileret l'enregistrera dans le fichier file.txt. Il existe techniquement deux "flux" de sortie différents, la sortie standard et l'erreur standard. Ils sont traités séparément et si vous utilisez la méthode de redirection simple ci-dessus, vous ne redirigerez que la sortie standard vers le fichier. Si vous souhaitez rediriger à la fois la sortie standard et l'erreur standard, vous pouvez le faire:

system_profiler &> file.txt

le & dit au shell de rediriger la sortie standard et l'erreur standard vers le fichier.

Si vous souhaitez simplement générer une erreur standard, vous pouvez le faire:

system_profiler 2> file.txt

Le 2permet au shell de savoir qu'il doit uniquement rediriger l'erreur standard.

Utiliser le >va écraser le fichier s'il est déjà là. Si vous souhaitez l'ajouter à un fichier sans effacer l'ancien, vous pouvez utiliser >>, comme ceci:

system_profiler >> file.txt

Vous pouvez bien sûr utiliser le &et 2pour envoyer à la fois une sortie standard et une erreur standard, et simplement une erreur standard avec l' >>opérateur.

Wuffers
la source
2
& >> ne semble pas fonctionner dans Mac Bash version 3.2.48 (1) -release (x86_64-apple-darwin11). Moi quand je l'essaye, ça dit -bash: syntax error near unexpected token >. Tout le reste fonctionne.
Nacht
3

Redirection.

awesomo > somefile.txt
Ignacio Vazquez-Abrams
la source