Awk/shell insertion d'une donnée dans un file
Fermé
titexe
Messages postés
55
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
16 août 2010
-
14 mai 2007 à 11:48
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 24 mai 2007 à 14:34
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 24 mai 2007 à 14:34
A voir également:
- Awk/shell insertion d'une donnée dans un file
- Host file - Guide
- .Bin file - Guide
- .Dat file - Guide
- Insertion liste déroulante excel - Guide
- Insertion signature word - Guide
6 réponses
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
14 mai 2007 à 11:55
14 mai 2007 à 11:55
Salut,
Si le champ 14 est toujours le dernier champ :
Si le champ 14 est toujours le dernier champ :
sed "1 s/|$/$p16|/";-))
titexe
Messages postés
55
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
16 août 2010
1
22 mai 2007 à 15:33
22 mai 2007 à 15:33
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
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
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
22 mai 2007 à 15:59
22 mai 2007 à 15:59
Ta version de "sed" ne doit pas implémenter ce "switch", il te faudra passer par un fichier temporaire :
sed 's/foo/bar/ < fichier.in > fichier.out mv -f fichier.out fichier.in;-))
titexe
Messages postés
55
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
16 août 2010
1
>
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
22 mai 2007 à 16:03
22 mai 2007 à 16:03
la commande deviendra comme suit :
sed "1 s/|$/$p16|/" fichier.in > fichier.out
mv -f fichier.out fichier.in
Merci de me confirmer !!
Merci encore une fois
sed "1 s/|$/$p16|/" fichier.in > fichier.out
mv -f fichier.out fichier.in
Merci de me confirmer !!
Merci encore une fois
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
22 mai 2007 à 16:16
22 mai 2007 à 16:16
Oui ;-))
titexe
Messages postés
55
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
16 août 2010
1
22 mai 2007 à 21:57
22 mai 2007 à 21:57
c'est OK , Merci beaucoup
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
titexe
Messages postés
55
Date d'inscription
lundi 27 novembre 2006
Statut
Membre
Dernière intervention
16 août 2010
1
24 mai 2007 à 14:25
24 mai 2007 à 14:25
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,
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,
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
24 mai 2007 à 14:34
24 mai 2007 à 14:34
Re-
if [ "$(sed -n '1p' fichier | cut -d"|" -f 14)" == "" ];then echo "Vide";else echo "Pas vide"; fi;-))
14 mai 2007 à 12:02
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,
14 mai 2007 à 12:12
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.