[Shell-Perl]-Ajouter données en tête de ligne
blux
Messages postés
27166
Date d'inscription
Statut
Modérateur
Dernière intervention
-
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
je cherche un petit script (sous UNIX/AIX, mais ultra-rapide) pour rajouter la date et heure du jour à toutes les lignes d'un fichier redirigé vers un autre :
cat $1 >> toto.log
Merci de vos suggestions.
je cherche un petit script (sous UNIX/AIX, mais ultra-rapide) pour rajouter la date et heure du jour à toutes les lignes d'un fichier redirigé vers un autre :
cat $1 >> toto.log
Merci de vos suggestions.
A voir également:
- [Shell-Perl]-Ajouter données en tête de ligne
- Partage de photos en ligne - Guide
- Classic shell - Télécharger - Personnalisation
- Mètre en ligne - Guide
- Formulaire en ligne de meta - Guide
- Supprimer les données de navigation - Guide
7 réponses
Salut,
#! /bin/bash DATE=$(date "+%d/%m/%y-%k:%M") while read line do sed "s|^|$DATE |" $1 > $2 done < $1;-))
Salut,
je n'ai pas testé
je n'ai pas testé
cat fichier | perl -ne 's/^/system("date", "+%d/%m/%y-%k:%M") . " :" /e';print' >> fichier.log
Presque !
070515-144512
0:quit
070515-144512
0:fin
Je sais pas d'où sort le crlf+zéro ! J'ai essayé aussi sans la concaténation du :, mais c'est pareil, j'ai un crlf+0
A+ Blux
070515-144512
0:quit
070515-144512
0:fin
Je sais pas d'où sort le crlf+zéro ! J'ai essayé aussi sans la concaténation du :, mais c'est pareil, j'ai un crlf+0
cat cfg-jb.sh | perl -ne 's/^/system("date", "+%y%m%d-%H%M%S") . ":"/e;print'--
A+ Blux
"Les cons, ça ose tout. C'est même à ça qu'on les reconnait"
Non plus (pas chez moi, en tous cas) :
Unmatched right curly bracket at -e line 1, within string
Missing right curly or square bracket at -e line 1, at end of line
syntax error at -e line 1, at EOF
Execution of -e aborted due to compilation errors.
cat cfg-jb.sh | perl -ne 's/^/system("date", "+%y%m%d-%H%M%S\c") . ":"/e;print'syntax error at -e line 1, at EOF
Unmatched right curly bracket at -e line 1, within string
Missing right curly or square bracket at -e line 1, at end of line
syntax error at -e line 1, at EOF
Execution of -e aborted due to compilation errors.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
et ça?
je suis au boulot et je ne peux pas tester ce que j'écrit
lami20j
je suis au boulot et je ne peux pas tester ce que j'écrit
perl -ne ' print system("date") . " $_"' cfg-jb.sh--
lami20j
Voilà la solution en Perl
lami20j@debian:~/trash$ cat fichier ligne 1 ligne 2 ligne 3 ligne 4 ligne 5 ligne 6 ligne 7 ligne 8 ligne 9 ligne 10 $ perl -ne '$t=qx/date +%y%m%d-%H%M%S/;chomp($t);print $t . "> $_"' fichier 070515-195405> ligne 1 070515-195405> ligne 2 070515-195405> ligne 3 070515-195405> ligne 4 070515-195405> ligne 5 070515-195405> ligne 6 070515-195405> ligne 7 070515-195405> ligne 8 070515-195405> ligne 9 070515-195405> ligne 10ou avec les apostrophes inverses
$ perl -ne '$t=`date +%y%m%d-%H%M%S`;chomp($t);print $t . "> $_"' fichier 070515-195618> ligne 1 070515-195618> ligne 2 070515-195618> ligne 3 070515-195618> ligne 4 070515-195618> ligne 5 070515-195618> ligne 6 070515-195618> ligne 7 070515-195618> ligne 8 070515-195618> ligne 9 070515-195618> ligne 10
$ cat fichier ligne 1 ligne 2 ligne 3 ligne 4 ligne 5 ligne 6 ligne 7 ligne 8 ligne 9 ligne 10 $ cat fichier | perl -ne '$t=qx/date +%y%m%d-%H%M%S/;chomp($t);print $t . "> $_"' 070515-221224> ligne 1 070515-221224> ligne 2 070515-221224> ligne 3 070515-221224> ligne 4 070515-221224> ligne 5 070515-221224> ligne 6 070515-221224> ligne 7 070515-221224> ligne 8 070515-221224> ligne 9 070515-221224> ligne 10 $ cat blux.sh #!/bin/bash cat $1 | perl -ne '$t=qx/date +%y%m%d-%H%M%S/;chomp($t);print $t . "> $_"' $ sh blux.sh fichier 070515-221336> ligne 1 070515-221336> ligne 2 070515-221336> ligne 3 070515-221336> ligne 4 070515-221336> ligne 5 070515-221336> ligne 6 070515-221336> ligne 7 070515-221336> ligne 8 070515-221336> ligne 9 070515-221336> ligne 10