Commande AWK

Commande AWK - Shell/Batch - Programmation

Marsh Posté le 29-12-2005 à 14:09:08    

Bonjour,
 
je ne connais pas le langage shell et j'essayes de comprendre un fichier batch.
Mais je tombe sur une commande awk que je n'arrive pas à déchiffrer:

Code :
  1. awk '{
  2. val1=sprintf("%dd",substr($0,1,7))
  3. val2=sprintf("%ddd",substr($0,8,7))
  4. printf("%s%s\n",val1,val2)
  5.      }' TEXT.OLD.TXT  > TEXT.TXT


 
Si quelqu'un pouvait me renseigner sur cette commande et ce que signifie ce code, ce serait sympa.
Merci

Reply

Marsh Posté le 29-12-2005 à 14:09:08   

Reply

Marsh Posté le 29-12-2005 à 14:14:09    

"man awk" en général, et "man printf" pour l'explication des formats printf().
Tu vas en avoir besoin.
 
Sinon je dirais que ça prend les 7 premiers caractères de chaque ligne de TEXT.OLD.TXT, lui ajoute un "d", prend les 7 suivantes et lui ajoute "dd".
 
Ce qui donne :
01234567890123
=> 0123456d789123dd
 
 
Mais c'est compliqué pour pas grand chose :

awk '{ printf("%sd%sdd\n",substr($0,1,7), substr($0,8,7)) }'


Message édité par Elmoricq le 29-12-2005 à 14:14:28
Reply

Marsh Posté le 29-12-2005 à 14:15:27    

Merci beaucoup!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed