Extraire une chaine de caractére
Résolu/Fermé
CYG
-
31 mars 2008 à 15:08
mecool23 Messages postés 6 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 2 avril 2008 - 1 avril 2008 à 15:01
mecool23 Messages postés 6 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 2 avril 2008 - 1 avril 2008 à 15:01
A voir également:
- Extraire une chaine de caractére
- Caractère ascii - Guide
- Extraire une video youtube - Guide
- Caractere speciaux - Guide
- Caractère spéciaux - Guide
- Chaine tnt gratuite sur mobile - 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 896
31 mars 2008 à 15:35
31 mars 2008 à 15:35
Salut,
À adapter à ton cas...
À adapter à ton cas...
$ cat cyg Data_output_format: complex_real4 Data_output_file_real_interferogram: int_out Data_output_format_real_interferogram: real4 Flatearth correction subtracted: no First_line (w.r.t. original_master): 8400 Last_line (w.r.t. original_master): 15190 First_pixel (w.r.t. original_master): 2798 Last_pixel (w.r.t. original_master): 3970 Multilookfactor_azimuth_direction: 5 Multilookfactor_range_direction: 1 Number of lines (multilooked): 1358 Number of pixels (multilooked): 1173 ******************************************************************* * End_interfero:_NORMAL ******************************************************************* $ echo "$(sed -n '/of lines\|of pixels/{s/.* //;H};${x;s/\n/ * /g;s/ \* //;p}' cyg)" | bc 1592934 $;-))
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 896
31 mars 2008 à 16:21
31 mars 2008 à 16:21
En partant de "repertoire 1" (sinon change le point par le chemin du répertoire d'où commencer la recherche) :
find . -type f -name "interferogram.out" -exec sed 'blablabla' {} >> tmp.txt \;;-))
find . -type f -name "interferogram.out" -exec sed '/of lines\|of pixels/{s/.* //;H};${x;s/\n/ * /g;s/ \* //;p}'
j ai introduit cette commande, le résultat c étai un fichier qui contient tt les contenu des fichiers <interferogram.out> et à la fin le les deux nombre répéter 5ou 6 fois,
je sais pas comment je vais vous envoyer le résultat ca sera bien explicite
merci d avance
CYG
j ai introduit cette commande, le résultat c étai un fichier qui contient tt les contenu des fichiers <interferogram.out> et à la fin le les deux nombre répéter 5ou 6 fois,
je sais pas comment je vais vous envoyer le résultat ca sera bien explicite
merci d avance
CYG
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 896
31 mars 2008 à 17:10
31 mars 2008 à 17:10
Il manque le "-n" à la commande sed ;-\
1402 * 1172 * 1402 * 1172 * 1402 * 1172 * 1402 * 1172 * 1402 * 1172 * 1402 * 1172
1607 * 1177 * 1607 * 1177 * 1607 * 1177 * 1607 * 1177 * 1607 * 1177 * 1607 * 1177
voici un extrait du fichier <tmp.txt>, dans le fichier <interferogram.out> les deux lignes (number of pixels et number of lines) se répétent 6 fois. et la commande n a pas éffectuée la multiplication.
merci d avance
CYG
1607 * 1177 * 1607 * 1177 * 1607 * 1177 * 1607 * 1177 * 1607 * 1177 * 1607 * 1177
voici un extrait du fichier <tmp.txt>, dans le fichier <interferogram.out> les deux lignes (number of pixels et number of lines) se répétent 6 fois. et la commande n a pas éffectuée la multiplication.
merci d avance
CYG
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 896
>
CYG
31 mars 2008 à 17:25
31 mars 2008 à 17:25
Voie au dessous ;-))
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 896
31 mars 2008 à 17:23
31 mars 2008 à 17:23
Oups j'avais pas testé ;-((
Essaye ça plutôt :
Essaye ça plutôt :
find . -name "interferogram.out" -exec sed -n '/of lines\|of pixels/{s/.* //;H};${x;s/\n/ * /g;s/ \* //;p}' {} \; | bc >> tmp.txt;-))
mnt il effectue la miltiplication mais il multiplie tous les nombres aprés of pixels et of lines, je veux juste qu il fait ca juste une fois et qu il ne prends pas en considération les autres, et si possible que la recherche commence a partir de la ligne 388,et que la recherche s arréte aprés qu il trouve les deux chaines > puis il les multipli
merci d avance
CYG
merci d avance
CYG
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 896
31 mars 2008 à 17:56
31 mars 2008 à 17:56
mnt il effectue la miltiplication mais il multiplie tous les nombres aprés of pixels et of lines, je veux juste qu il fait ca juste une fois et qu il ne prends pas en considération les autres,
Rajoutes ";q" après le "p" :
et si possible que la recherche commence a partir de la ligne 388,et que la recherche s arréte aprés qu il trouve les deux chaines > puis il les multipli
Essaye avec ça alors en début d'expression:
Rajoutes ";q" après le "p" :
{s/.* //;H};${x;s/\n/ * /g;s/ \* //;p;q}
et si possible que la recherche commence a partir de la ligne 388,et que la recherche s arréte aprés qu il trouve les deux chaines > puis il les multipli
Essaye avec ça alors en début d'expression:
sed -n '388,/of pixels/{ /of lines\|of pixels/{s/.* //;H};${x;s/\n/ * /g;s/ \* //;p}}';-)
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 896
>
CYG
1 avril 2008 à 09:51
1 avril 2008 à 09:51
Enlève le ";q" et ça devrait passer ;-))
Si ça passe pas, colles-moi ton fichier sur cjoint pour que je puisse faire des tests.
Comme je te l'ai déjà dit, j'ai besoin d'avoir tous les paramètres réunis pour adapter la syntaxe à chaque cas...
Si ça passe pas, colles-moi ton fichier sur cjoint pour que je puisse faire des tests.
Comme je te l'ai déjà dit, j'ai besoin d'avoir tous les paramètres réunis pour adapter la syntaxe à chaque cas...
CYG
>
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
1 avril 2008 à 10:09
1 avril 2008 à 10:09
même sans ;q le fichier est vide. je vous ai envoyé le fichier <interferogram.out> le lien est : http://cjoint.com/?ebkgujGrFg
merci d avance
CYG
merci d avance
CYG
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 896
1 avril 2008 à 10:44
1 avril 2008 à 10:44
Normalement ça devrait marcher cette fois-ci...
find . -name "interferogram.out" -exec sed -n '388,/of pixels/{ /of lines\|of pixels/{s/.*\s//p}}' {} \; | sed 'N;s/\n/ * /' | bc >> tmp.txt;-))
merci bcp ça marche nikel, juste une tte petite question , j ai deux fichiers <liste_orb_Couples.txt> et l autre <tmp.txt>, ce que je veux c est de rassembler les les données des deux fichiers dans un autre fichier:
par exemple:
un extrait du <tmp.txt>
1642572
1542878
1875242
un extrait du <liste_orb_Couples.txt>
19920505_19961201
19930417_19990813
19990712_20010215
le résultat voulu dans un autre fichier <com.txt>
d:\projet_interferométrie\lescouples\selection\19920505_19961201 lonlatpha.ascii.utm 1642572
d:\projet_interferométrie\lescouples\selection\19930417_19990813 lonlatpha.ascii.utm 1542878
d:\projet_interferométrie\lescouples\selection\19990712_20010215 lonlatpha.ascii.utm 1875242
j ai essayé avec la commande gawk mais ça marche pas
voici ma commande
gawk '{print "d:\projet_interferométrie\lescouples\selection\"$0" lonlatpha.ascii.utm "$1"\n"}' liste_orb_Couples.txt tmp.txt > com.txt
vous avez une idée??
merci d avance
CYG
par exemple:
un extrait du <tmp.txt>
1642572
1542878
1875242
un extrait du <liste_orb_Couples.txt>
19920505_19961201
19930417_19990813
19990712_20010215
le résultat voulu dans un autre fichier <com.txt>
d:\projet_interferométrie\lescouples\selection\19920505_19961201 lonlatpha.ascii.utm 1642572
d:\projet_interferométrie\lescouples\selection\19930417_19990813 lonlatpha.ascii.utm 1542878
d:\projet_interferométrie\lescouples\selection\19990712_20010215 lonlatpha.ascii.utm 1875242
j ai essayé avec la commande gawk mais ça marche pas
voici ma commande
gawk '{print "d:\projet_interferométrie\lescouples\selection\"$0" lonlatpha.ascii.utm "$1"\n"}' liste_orb_Couples.txt tmp.txt > com.txt
vous avez une idée??
merci d avance
CYG
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 896
1 avril 2008 à 11:51
1 avril 2008 à 11:51
paste -d " " liste_orb_Couples.txt tmp.txt;-))
mecool23
Messages postés
6
Date d'inscription
mardi 26 février 2008
Statut
Membre
Dernière intervention
2 avril 2008
1 avril 2008 à 15:01
1 avril 2008 à 15:01
merci bcp jipicy ;)
31 mars 2008 à 16:14
<tmp.txt>, vous avez une idée?
__répertoire 1
| |__interferogram.out
|__répértoire 2
| |__interferogram.out
|__répértoire 3
| |__interferogram.out
|__répértoire 4
| |__interferogram.out
|__tmp.txt
le résultat voulu extrait du fichier <tmp.txt>
16534673
12345679
14567865
17654379
16534780
merci d avance;
CYG