Commande unix pour concatener

Fermé
fred - 30 sept. 2010 à 15:31
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 30 sept. 2010 à 16:23
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
A voir également:

2 réponses

dubcek Messages postés 18748 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 26 septembre 2024 5 618
30 sept. 2010 à 16:19
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
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
30 sept. 2010 à 16:23
Salut,

Ou en ksh aussi :

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

;-))
0