188 votes

Y at-il un utilitaire Unix pour faire précéder les horodatages de lignes de texte ?

J'ai fini par écrire un petit script pour cette en Python, mais je me demandais si il y avait un utilitaire qui vous permettrait de nourrir le texte en ce qui permettrait de faire précéder chaque ligne avec du texte -- dans mon cas précis, un timestamp. Idéalement, l'utilisation serait quelque chose comme:

$ cat somefile.txt | prepend-timestamp

(Avant de vous répondre sed, j'ai essayé ceci:

$ cat somefile.txt | sed "s/^/`date`/"

mais qui évalue seulement la date de la commande une fois lors de la sed est exécutée, de sorte que le même timestamp est pas correctement inséré au début de chaque ligne).

211voto

mmckinst Points 861

``de moreutils ajoutera un horodatage de chaque ligne d’entrée, que vous lui donnez. Vous pouvez mettre en forme à l’aide de strftime trop.

195voto

Kieron Points 5096

Pouvez essayer d’utiliser `` :

Vous devrez vous assurer que produit dans la mémoire tampon de sortie de ligne, c’est à dire, il vide son flux de sortie après chaque ligne ; l’horodatage ajoute à volonté la fois que la fin de la ligne est apparue sur le tuyau d’entrée.

47voto

Ted Percival Points 3712

annoter, disponible via ce lien ou en tant que dans la Debian paquet.

31voto

Willem Points 301

Distiller les réponses donnés à la plus simple possible :

Sur Ubuntu, ils viennent les paquets expect-dev et moreutils.

26voto

jj33 Points 3858

Comment à ce sujet ?

À en juger par votre désir d’obtenir des horodateurs direct, peut-être vous voulez faire vivre mise à jour sur un fichier journal ou quelque chose ? Peut-être

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X