Awk/shell insertion d'une donnée dans un file
titexe
Messages postés
55
Statut
Membre
-
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,
Priére de m'aider sur cette tache,
je voudrais insérer un paramétre ($p16=entier ( des numéros ))dans un fichier , a la 1ere ligne le champ 14 , les champs sont séparé par des pipes.
ex:
p16=20070908_4343
cette valeur je veux l'inserer dans le champ 14 de la 1ere ligne de ce fichier:
@|08|GG|05|XX|200601101600|AAAA|0||OD|ACTES||||
B||
B||
D||
le résultat ca doit etre :
@|08|GG|05|XX|200601101600|AAAA|0||OD|ACTES|||20070908_4343|
B||
B||
D||
Merci d'avance , de m'aider a completer cette tache,
je remercie tous les modérateurs de Forum CCM , qui m'ont aidé pas mal de fois,
Cordialement,
Priére de m'aider sur cette tache,
je voudrais insérer un paramétre ($p16=entier ( des numéros ))dans un fichier , a la 1ere ligne le champ 14 , les champs sont séparé par des pipes.
ex:
p16=20070908_4343
cette valeur je veux l'inserer dans le champ 14 de la 1ere ligne de ce fichier:
@|08|GG|05|XX|200601101600|AAAA|0||OD|ACTES||||
B||
B||
D||
le résultat ca doit etre :
@|08|GG|05|XX|200601101600|AAAA|0||OD|ACTES|||20070908_4343|
B||
B||
D||
Merci d'avance , de m'aider a completer cette tache,
je remercie tous les modérateurs de Forum CCM , qui m'ont aidé pas mal de fois,
Cordialement,
Configuration: Windows XP Internet Explorer 6.0
6 réponses
-
Salut,
Si le champ 14 est toujours le dernier champ :sed "1 s/|$/$p16|/"
;-))
-
re,
oui ce champ 14 est le dernier champ de la 1ére ligne,
cette commande insére directement dans le fichier originale?
Merci d'avance,- cette commande insére directement dans le fichier originale?
Oui à condition de rajouter le switch "-i.bak" (.bak fait crée une sauvegarde du fichier original avec l'extension "bak")
S'applique uniquement au version de "sed" supérieure à 4.0.
Pour les versions antérieures utiliser un fichier temporaire.
-
-
Cette commande marche a merveille ds un environnement windows ;
Mais quand j'ai testé cette commande sed dans un environnement Unix ( AIX IBM ) ca n'as pas marché?
Veuillez m'aider a compléter cette tache,
Merci d'avance,
Cordialement -
Oui ;-))
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
bonjour,
Comment je peux vérifier , est ce que le champs 14 est vide ou pas , avant que j'insére la valeur de P16 ?
car si je recois un fichier avec une valeur inscrite dans le champs 14 , je ne dois pas insérer une nouvelle valeur,
c'est ca ma contrainte,
Merci encore une fois !!!
Cordialement, -
Re-
if [ "$(sed -n '1p' fichier | cut -d"|" -f 14)" == "" ];then echo "Vide";else echo "Pas vide"; fi
;-))