web-dev-qa-db-fra.com

Comment puis-je rediriger la sortie de la console dans le fichier?

Je suis nouveau à c. Existe-t-il un moyen simple de rediriger toute la sortie de la console (printfs, etc.) à un fichier à l'aide d'un paramètre General Command Line\Linkage (sans avoir à modifier l'un quelconque du code d'origine)?

Si oui quelle est la procédure?

12
vondip

Utilisez la redirection de la sortie Shell

your-command > outputfile.txt

L'erreur standard sera toujours sortie sur la console. Si vous ne voulez pas cela, utilisez:

your-command > outputfile.txt 2>&1

ou

your-command &> outputfile.txt

Vous devez également examiner l'utilitaire tee, qui peut le rendre redirect à deux endroits à la fois.

30
Hut8

Sur les unes, vous pouvez également faire:

your-command | tee output file.txt

De cette façon, vous verrez la sortie et de pouvoir interagir avec le programme, tout en obtenant une copie papier de la sortie standard (mais pas d'entrée standard, ce n'est donc pas comme une session de télétype).

3
Kuba Ober

Comme mentionné ci-dessus, vous pouvez utiliser l'opérateur> pour rediriger la sortie de votre programme dans un fichier comme dans:

./program > out_file

En outre, vous pouvez ajouter des données à un fichier existant (ou le créer s'il ne quitte pas déjà en utilisant >> opérateur:

./program >> out_file

Si vous voulez vraiment en savoir plus sur les fonctionnalités (géniales) que la ligne de commande a à offrir, je vous recommanderais de lire ce livre (et de faire beaucoup de programmation :))

http://linuxcommand.org/

Prendre plaisir!

3
Andrés AG

Dans les coquilles UNIX, vous pouvez généralement faire executable > file 2> &1, whch signifie "rediriger la sortie standard à fichier et sortie d'erreur à la sortie standard"

2
gpeche