Récupération valeur sur fichier

Weqk -  
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai un petit souci, je doit récupérer une valeur dans un fichier appeler "cpt" afin de pouvoir l'incrémenter de 1 a chaque passage dans mon script.

Avez vous une idée?

Merci d'avance.
A voir également:

5 réponses

lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Re,

Une idée avec perl

~ $ cat fic
000
~ $ perl -ni -e 's/(.*)/$1 + 1/e;printf "%03d\n",$_' fic
~ $ cat fic
001
~ $ perl -ni -e 's/(.*)/$1 + 1/e;printf "%03d\n",$_' fic
~ $ cat fic
002
~ $ perl -ni -e 's/(.*)/$1 + 1/e;printf "%03d\n",$_' fic
~ $ cat fic
003
~ $ perl -ni -e 's/(.*)/$1 + 1/e;printf "%03d\n",$_' fic
~ $ cat fic
004

1
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Pas mieux ;-))
0
Weqk
 
Au pire je sais coder ce que je veux en c et autre langage biscornu mais la je veux le faire en shell
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

Merci de poster des exemples concrets de ce que tu veux histoire de bien se comprendre :

fichier AVANT => APRES

;-))
0
Weqk
 
Alors concrètement:

J'ai dans un fichier "texte" une valeur comprise entre 000 et 999 et je dois pouvoir incrémenter cette valeur a chaque exécution de mon script.

1ere exécution : la valeur passe de 000 à 001
2nde exécution : la valeur passe de 001 à 002
...


En esperant avoir été clair,


Merci
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
En esperant avoir été clair,
Toujours pas ;-((

je doit récupérer une valeur dans un fichier appeler "cpt"
Elle est où cette valeur ?
Elle est seule dans le fichier ?
Au milieu d'un tas d'autres choses ?

D'où la demande d'un exemple CONCRET avec affichage dudit fichier !
0
Weqk
 
ah ouai pardon, non genre dans le fichier il y a 3 caractères uniquement des chiffres allant donc de 000 à 999.
0
Weqk
 
Toujours pas clair?
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
$ cat a1
000
$ printf "%03d\n"  $(($(cat a1)+1)) > a1
$ cat a1
001
$ printf "%03d\n"  $(($(cat a1)+1)) > a1
$ cat a1
002
$ printf "%03d\n"  $(($(cat a1)+1)) > a1
$ cat a1
003
$ 
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

Ah, oui, pas besoin de fichier tmp vu qu'on lit d'abord avec cat. Quelq c** je suis.
Ca doit être le boulot qui m'a empêché de voir ça ;-)))
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Re,

~ $ cat fic
000
~ $ awk '{printf "%03d", $0 + 1}' fic > fic.tmp && mv -v fic.tmp fic
'fic.tmp' -> 'fic'
~ $ cat fic
001
~ $ awk '{printf "%03d", $0 + 1}' fic > fic.tmp && mv -v fic.tmp fic
'fic.tmp' -> 'fic'
~ $ cat fic
002
~ $ awk '{printf "%03d", $0 + 1}' fic > fic.tmp && mv -v fic.tmp fic
'fic.tmp' -> 'fic'
~ $ cat fic
003
~ $ awk '{printf "%03d", $0 + 1}' fic > fic.tmp && mv -v fic.tmp fic
'fic.tmp' -> 'fic'
~ $ cat fic
004
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Re,

~ $ cat fic 
000 
~ $ printf "%03d" $(($(cat fic) + 1)) > fic.tmp && mv -v fic.tmp fic 
'fic.tmp' -> 'fic' 
~ $ cat fic 
001 
~ $ printf "%03d" $(($(cat fic) + 1)) > fic.tmp && mv -v fic.tmp fic 
'fic.tmp' -> 'fic' 
~ $ cat fic 
002 
~ $ printf "%03d" $(($(cat fic) + 1)) > fic.tmp && mv -v fic.tmp fic 
'fic.tmp' -> 'fic' 
~ $ cat fic 
003
--

GNU/Linux:Linux is Not Ubuntu! Quel linux choisir ne veut pas dire votre Distribution préférée,
106485010510997108
0