Commande unix pour concatener

fred -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

dans un ksh , voici ce que je souhaite faire ,

#recuperation du nombre de ligne dans un fichier avec la commande suivante
nb_en='wc -l hf02aaaa.hd | awk '{print $1}''

j 'obtiens la valeur 10 par exemple et je souhaite maintenant rajouter 4 zeros avant la valeur pour obtenir la valeur suivante 0010 afin de garder les quatre premier chiffres .

autre exemple :
Par exemple si le nombre de ligne de mon fichier est 100 , je veux obtenir la valeur :0100 si mon fichier contient 3 lignes , je veux intialiser une variable avec comme valeur : 003 ,...

en fait je ne sais comment on doit concatener une chaine et ne garder que les quatre premier

Merci de vos réponses

2 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    on peut tout faire avec awk
    $ wc -l a3
    100 a3
    $ nb_en=$(awk 'END{printf("%04d\n", NR)}' a3) ; echo $nb_en
    0100
    $ 
    0
  2. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    Ou en ksh aussi :

    $ A="$(cat liste | wc -l)"
    $ printf "%04d\n" $A
    0011

    ;-))
    0