[GAWK] inclusion de données à 1 position X
Résolu/Fermé
SAW5
Messages postés
111
Date d'inscription
vendredi 14 novembre 2008
Statut
Membre
Dernière intervention
6 janvier 2010
-
28 juil. 2009 à 13:16
SAW5 Messages postés 111 Date d'inscription vendredi 14 novembre 2008 Statut Membre Dernière intervention 6 janvier 2010 - 29 juil. 2009 à 09:28
SAW5 Messages postés 111 Date d'inscription vendredi 14 novembre 2008 Statut Membre Dernière intervention 6 janvier 2010 - 29 juil. 2009 à 09:28
A voir également:
- [GAWK] inclusion de données à 1 position X
- Ma position - Guide
- Supprimer les données de navigation - Guide
- Partage de position whatsapp - Guide
- Position gps - Guide
- Reinstaller windows sans perte de données - Guide
9 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
28 juil. 2009 à 13:39
28 juil. 2009 à 13:39
Salut,
Tu dois absolument arriver à tes fins via GAWK ?
Sans vouloir dénigrer "awk", ce n'est pas l'outil idéal pour ce genre d'opération (bien que je suis sûr que l'ami dubcek va nous pondre la syntaxe adéquate), mais un outil tel que "sed" me semble beaucoup plus adapté dans ce cas là...
Tu dois absolument arriver à tes fins via GAWK ?
Sans vouloir dénigrer "awk", ce n'est pas l'outil idéal pour ce genre d'opération (bien que je suis sûr que l'ami dubcek va nous pondre la syntaxe adéquate), mais un outil tel que "sed" me semble beaucoup plus adapté dans ce cas là...
jp@MDK:~/tmpfs ssh$ cat fic Michel Jean Michel Fred Sam Bill Michel Bill Michel jp@MDK:~/tmpfs ssh$ sed '0,/Michel/ { s//&\ Vincent\ Seb\ Felix/ } ' fic Michel Vincent Seb Felix Jean Michel Fred Sam Bill Michel Bill Michel jp@MDK:~/tmpfs ssh$;-))
SAW5
Messages postés
111
Date d'inscription
vendredi 14 novembre 2008
Statut
Membre
Dernière intervention
6 janvier 2010
7
28 juil. 2009 à 14:30
28 juil. 2009 à 14:30
j'ai pas tester ton code mais sûrement ça va donner le bon resultat...merci beaucoup jipicy de ton code....en attendant un script avec awk..
merci encore jipicy
merci encore jipicy
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
28 juil. 2009 à 14:38
28 juil. 2009 à 14:38
La même chose sous Windows :
C:\tmp>type fic.txt Michel Jean Michel Fred Sam Bill Michel Bill Michel C:\tmp>type sed.txt 0,/Michel/ { s//&\ Vincent\ Seb\ Felix/ } C:\tmp>sed -f sed.txt fic.txt Michel Vincent Seb Felix Jean Michel Fred Sam Bill Michel Bill Michel C:\tmp>
SAW5
Messages postés
111
Date d'inscription
vendredi 14 novembre 2008
Statut
Membre
Dernière intervention
6 janvier 2010
7
28 juil. 2009 à 14:41
28 juil. 2009 à 14:41
j'ai changer un peu ton script jipicy :
en :
apparemment c'est un problème d'intérprétation de la commande SED par les 2 OS
EDIT: nos 2 posts se sont croisés ;)
la version Win de ton 2 eme code est IMPEC merci encore
C:\>type jipicy.bat C:\>sed "0,/Michel/ {s//&\Vincent\Seb\Felix/}" fic MichelVincentSebFelix Jean Michel Fred Sam Bill Michel Bill Michel
en :
C:\>type jipicy.bat C:\>sed "0,/Michel/ {s//&\n\Vincent\n\Seb\n\Felix/}" fic.txt Michel Vincent Seb Felix Jean Michel Fred Sam Bill Michel Bill Michel
apparemment c'est un problème d'intérprétation de la commande SED par les 2 OS
EDIT: nos 2 posts se sont croisés ;)
la version Win de ton 2 eme code est IMPEC merci encore
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
28 juil. 2009 à 14:50
28 juil. 2009 à 14:50
Sous Windows les fins de ligne ne sont pas les même que sous Linux :
sed "0,/Michel/ {s//&\r\n\Vincent\r\n\Seb\r\n\Felix/}" fic.txtVoir Sed - Conversion retours chariots DOS (CRLF) / UNIX (LF)
dubcek
Messages postés
18765
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
20 février 2025
5 624
29 juil. 2009 à 08:26
29 juil. 2009 à 08:26
hello
$ ver Microsoft Windows XP [version 5.1.2600] $ type f1.txt Michel Jean Michel Fred Sam Bill Michel Bill Michel $ type f2.txt Vincent Seb Felix $ gawk "{print $0} ; /^Michel/ && !x {system(\"type f2.txt\");x=1 }" < f1.txt Michel Vincent Seb Felix Jean Michel Fred Sam Bill Michel Bill Michel
SAW5
Messages postés
111
Date d'inscription
vendredi 14 novembre 2008
Statut
Membre
Dernière intervention
6 janvier 2010
7
29 juil. 2009 à 08:53
29 juil. 2009 à 08:53
enfin je vois ma fonction system() 8)
merci dubcek
si tu as du temps peux tu me dire que signifie ceci: "!x" (different de ?)
merci dubcek
si tu as du temps peux tu me dire que signifie ceci: "!x" (different de ?)
dubcek
Messages postés
18765
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
20 février 2025
5 624
29 juil. 2009 à 09:11
29 juil. 2009 à 09:11
pour ne faire l'ajout du fichier f2.txt qu'une seule fois et sachant qu'une variable est par défaut à zéro, /^Michel/ && !x signifie la ligne commence par Michel ET la négation de x est vraie donc x est égal à zéro alors j'ajoute le fichier et j'assigne x=1 donc les prochaines lignes qui commencent par Michel ne seront plus traitées
SAW5
Messages postés
111
Date d'inscription
vendredi 14 novembre 2008
Statut
Membre
Dernière intervention
6 janvier 2010
7
29 juil. 2009 à 09:28
29 juil. 2009 à 09:28
merci dubcek c'est gentil de ta part