[Shell-Perl]-Ajouter données en tête de ligne
blux
Messages postés
5044
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.
--
A+ Blux
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+ Blux
"Les cons, ça ose tout. C'est même à ça qu'on les reconnait"
Configuration: Windows XP Firefox 1.5.0.11
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é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+0cat 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) :
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.
-
-
Merci, je vais voir lequel est le plus adapté à mon usage.
-
essaie d'abord comme ça
perl -ne 's/^/system("date")/e;print' cfg-jb.sh--
lami20j -
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'écritperl -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 10
ou 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