comment faire pour rediriger le résultat de linux temps de commande des fichiers
Je suis en exécutant la commande suivante (sur Ubuntu)
time wget 'http://localhost:8080/upLoading.jsp' --timeout=0
et d'obtenir un résultat dans la ligne de commande
real 0m0.042s
user 0m0.000s
sys 0m0.000s
J'ai essayé ce qui suit:
time -a o.txt wget 'http://localhost:8080/upLoading.jsp' --timeout=0
et obtenez l'erreur suivante
-a: command not found
Je veux obtenir le résultat pour être redirigé vers un fichier. Comment puis-je le faire?
Probablement que vous utilisez bash, et il a
time
de commande intégrée. (voir help time
) Votre commande doit utiliser /usr/bin/time
pour fonctionner correctement (à découvrir où les binaires de temps est d'utiliser which time
). Considérant cela, vous devez utiliser: time -o out.txt -a ...
OriginalL'auteur Julias | 2012-06-18
Vous devez vous connecter pour publier un commentaire.
Vous pouvez diriger l'
stdout
sortie de la commande vers un fichier à l'aide de la>
caractère.Pour ajouter la sortie vers un fichier, utilisez
>>
Noter que, à moins de le faire de manière explicite, la sortie de
stderr
vont toujours à la console. Pour direct les deuxstderr
etstdout
pour le même flux de sortie utiliserou
Si vous travaillez avec
bash
Tout à propos de la redirection vous donnera plus de détails et de contrôle à propos de la redirection.Envisager
/usr/bin/time
comme je l'ai commenté ci-dessus. Et donc, utiliser quelque chose comme/usr/bin/time -o outfile.txt -a ...
OriginalL'auteur Levon
-a est compris uniquement par le temps binaire (/usr/bin/heure), au moment de l'utilisation de fois que vous utilisez le bash intégré dans la version qui ne traite pas de l'option-a, et donc essaie de l'exécuter comme une commande.
Je crois que c'est effectivement la bonne réponse. Lorsque le temps d'appel, appel /usr/bin/heure au lieu d'utiliser le shell builtin qui ne prend pas en charge les options avancées.
Certainement, c'est la bonne réponse.
... aussi longtemps que vous utilisez linux, je suppose. OS X
usr/bin/time
ne prend pas en charge-o
.OriginalL'auteur Adam
Vérification
man time
, je suppose que ce que vous avez besoin est(Remarque: vous devez les deux -a et-o).
[EDIT:] Si vous êtes dans bash, vous devez également prendre soin d'écrire
(vérifier la page de manuel pour plus d'explications)
-o: command not found
sur ma machine.Vérifier Adam commentaire (stackoverflow.com/a/11082413/384689), c'est probablement la solution
Hhmm, je ne vois pas non plus ... donc j'ai édité ma réponse. Espérons que cette aide
Il est de retour 🙂 merci
J'ai ajouté un commentaire à cet élément de la question, et aussi commenté dans la accepté de répondre.
OriginalL'auteur claasz
Cette réponse basée sur des observations antérieures. Il est testé, il fonctionne. L'avantage de la
\
sur/usr/bin/
est que vous n'avez pas à connaître le répertoire d'installation detime
.Ces réponses ne capturer le moment, pas d'autre sortie.
OriginalL'auteur ctrl-alt-delor
Exactement la
time
de GNU, écrit-il à stderr et si vous voulez rediriger vers fichier, vous pouvez utiliser l'option --output=paramètre de CHEMIN detime
Voir ce http://unixhelp.ed.ac.uk/CGI/man-cgi?time
Et si vous souhaitez rediriger stdout à certains fichiers, vous pouvez utiliser
> filename
de créer un fichier et de le remplir ou>> filename
pour ajouter des fichiers après la commande initiale.Si vous souhaitez rediriger stderr par vous-même, vous pouvez utiliser
$ command >&2 your_stderr_output
OriginalL'auteur Ribtoks
Essayez d'utiliser
/usr/bin/time
depuis de nombreuses coquilles ont leur propre mise en œuvre detime
qui peuvent ou peuvent ne pas supporter les mêmes drapeaux,/usr/bin/time
afin de modifier votre commande à
OriginalL'auteur dwalter
Votre LANG ?
OriginalL'auteur y.tk
Essayer:
et l'affichage en temps réel à partir de la commande "" peut être vu dans une autre fenêtre console:
OriginalL'auteur emery
Cela a fonctionné pour moi:
https://unix.stackexchange.com/questions/115980/how-can-i-redirect-time-output-and-command-output-to-the-same-pipe
OriginalL'auteur thayne
Vous pouvez le faire avec
>
si vous voulez rediriger la sortie.Par exemple:
2>&1
dit pour rediriger STDERR vers le même fichier.Cette commande efface toutes les output.txt fichiers et en crée une nouvelle avec votre sortie. Si vous utilisez
>>
il va ajouter de la sortie à la fin de tout output.txt fichier. Si elle n'existe pas, il va le créer.OriginalL'auteur Zagorax