[Shell-Perl]-Ajouter données en tête de ligne
blux
Messages postés
5021
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
A voir également:
- [Shell-Perl]-Ajouter données en tête de ligne
- Classic shell - Télécharger - Personnalisation
- Partager photos en ligne - Guide
- Mètre en ligne - Guide
- Trier des données excel - Guide
- Logiciel de récupération de données - 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