la variable liste contient tout les numéros vérifiant le critère de sed,
sed -n -e '/deg'"${j}"'/ {s/^[^:]*:\([0-9]*\).*/\1/;p}' fichier
1
2
3
10
11
12
13
14
15
la variable liste contient tout les numéros vérifiant le critère de sed,
sed -n -e '/deg'"${j}"'/ {s/^[^:]*:\([0-9]*\).*/\1/;p}' fichier
1
2
3
10
11
12
13
14
15
Ok, mais bon, comme je te l'ai dit plus haut, il y a sûrement un caractère qui fiche la pagaille et sans rien pour tester difficile de t'aider davantage
Sinon, concernant ce passage :
Ça ne sert à rien de créer la variable "${numero}" puisqu'en fait elle existe déjà (${i})
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 for i in $liste do cat $i.txt >> resultat numero=$( echo $i.txt | sed 's/\.txt//')![]()
justement, je veux les numéros de $i.txt qui sont copiés dans résultat et non pas tous les $i de forÇa ne sert à rien de créer la variable "${numero}" puisqu'en fait elle existe déjà (${i})
le problème provient de $j dans le sed ,mais je vois pas la solution
J'avoue que j'ai beaucoup de mal avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 numero=$( echo $i.txt | sed 's/\.txt//')
Edit : Grilled by zippe31
Pour ne pas être complétement hors-sujet, je rajouterais que ton code est pas du tout efficace car tu dois reparcourir plusieurs fois ton fichier pour effectuer ton traitement. Tu devrais vraiment envisager de construire un script qui n'a besoin que d'un passage pour effectuer ton traitement.
Pourquoi faire simple quand on on peut faire compliqué ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 awk -F: '$3 ~ /[033|130|224]/{ var=gensub("[^0-9]*([0-9]*).*","\\1",1,$4); printf $5"\n" >> "taille_"var".txt" }' texte.txt
La sortie se fait dans des fichiers dans le répertoire courant taille_XX.txt
le problème provient de * devant le mot deg ,lol, et tout va bien
Merci à tous
Code : Sélectionner tout - Visualiser dans une fenêtre à part sed -n '/numero:'$i' .*degradation:deg'${j}' / { s/.*texte: *//p}'
Si tu faisais allusion à cette syntaxe donnée plus haut :
Je ne vois pas en quoi il était problématique étant donné qu'il matchait un espace (existant ou pas) avant le mot "deg"
Code : Sélectionner tout - Visualiser dans une fenêtre à part sed -n '/numero:'"${numero}"' .*degradation: *deg'"${j}"'/ { s/.*texte: *//p}' fichier
Mais comme dis plus haut, sans savoir à quoi ressemble ton fichier d'origine, difficile d'affirmer ou d'infirmer quoi que ce soit![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager