Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 11/04/2013, à 11:40

BrunoL

[Résolu] sed et cut voient-ils la même chose ?

Bonjour,
Un 'top|grep apache' indique le processus père et ses fils correspondant.
La liste semble homogène :
1436 root      20   0  237m  11m 6308 S    0  0.3   0:00.13 apache2           
1449 www-data  20   0  237m 6040  420 S    0  0.2   0:00.00 apache2           
1450 www-data  20   0  237m 6040  420 S    0  0.2   0:00.00 apache2           
1451 www-data  20   0  237m 6040  420 S    0  0.2   0:00.00 apache2           
1452 www-data  20   0  237m 6040  420 S    0  0.2   0:00.00 apache2           
1453 www-data  20   0  237m 6040  420 S    0  0.2   0:00.00 apache2   

Mon problème est qu'un
$ top -bd1 -n1|grep apache|sed -e "s/ */ /"|cut -d ' ' -f 18,20,23

0 0.2 0:00.01
0 0.2 0:00.00
0 0.2 0:00.00
0 0.2 0:00.00
0 0.2 0:00.00

perd la trace du père (1ère ligne). J'ai beau intercaler des |sed -e "s/ */ /"| ou |sed -e "s/\t/ /"| rien y fait.
Où est mon erreur ?
Merci.

Dernière modification par BrunoL (Le 11/04/2013, à 12:51)

Hors ligne

#2 Le 11/04/2013, à 11:56

Watael

Re : [Résolu] sed et cut voient-ils la même chose ?

salut,

ps h -C apache2 -ouser,pcpu,pmem,time

Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#3 Le 11/04/2013, à 12:03

BrunoL

Re : [Résolu] sed et cut voient-ils la même chose ?

OUUUAAAAH, génial.

Ça ne répond pas à la question mais c'est exactement ce que je cherchais à faire smile

Merci Watael

Hors ligne

#4 Le 11/04/2013, à 12:10

metalux

Re : [Résolu] sed et cut voient-ils la même chose ?

Sinon sur la même forme que celle de départ

top -bd1 -n1|grep apache2| tr -s ' ' | cut -d ' ' -f 10,11,12

Hors ligne

#5 Le 11/04/2013, à 12:20

pingouinux

Re : [Résolu] sed et cut voient-ils la même chose ?

Bonjour,
Ou bien

top -bd1 -n1 | awk '/apache2/{print $9" "$10" "$11}'

Hors ligne

#6 Le 11/04/2013, à 12:35

BrunoL

Re : [Résolu] sed et cut voient-ils la même chose ?

Tiens, je ne connaissais pas tr je le mets de coté.
Et awk ... on ne parle pas la même langue. roll

Merci pour toutes ces solutions. Si quelqu'un voit pourquoi mon sed déconne je suis preneur
... parce que lui je croyais le connaître wink

Dernière modification par BrunoL (Le 11/04/2013, à 12:46)

Hors ligne

#7 Le 11/04/2013, à 12:40

pingouinux

Re : [Résolu] sed et cut voient-ils la même chose ?

Il fallait faire ceci

sed -r "s/ +/ /g"

et adapter les colonnes du cut.

Hors ligne

#8 Le 11/04/2013, à 12:51

BrunoL

Re : [Résolu] sed et cut voient-ils la même chose ?

Merci pingouinux. je pense qu'il y a une coquille, lire "e" au lieu de "r" et tout fonctionne.

Parfait, journée faste ce forum est d'un efficacité redoutable.
Bonne journée à tous.

Hors ligne

#9 Le 11/04/2013, à 13:04

pingouinux

Re : [Résolu] sed et cut voient-ils la même chose ?

Non, il n'y a pas de coquille. -e est inutile s'il n'y a qu'une seule expression, et -r permet de simplifier ce qui suit. On pourrait faire aussi :

sed -e "s/ \+/ /g"

ou

sed "s/ \+/ /g"

Ajouté : On peut aussi se passer du grep

top -bd1 -n1 | sed -n "/apache/s/ \+/ /gp" | cut -d ' ' -f 10-12

Dernière modification par pingouinux (Le 11/04/2013, à 13:18)

Hors ligne

#10 Le 11/04/2013, à 20:53

metalux

Re : [Résolu] sed et cut voient-ils la même chose ?

@pingouinux
Le + remplace les espaces. Ça fonctionne avec n'importe quel caractère et correspond finalement à la même chose que tr -s ou bien j'interprète mal ce signe?

Hors ligne

#11 Le 11/04/2013, à 21:04

pingouinux

Re : [Résolu] sed et cut voient-ils la même chose ?

@metalux #10 :

sed "s/ \+/ /g"

remplace toutes les occurrences d'un ou plusieurs espaces par un seul.

tr -s ' '

fait la même chose.

Le + peut bien sûr s'appliquer à n'importe quel caractère ou expression régulière.

Hors ligne

#12 Le 11/04/2013, à 21:29

metalux

Re : [Résolu] sed et cut voient-ils la même chose ?

Je ne suis pas sûr de bien avoir compris:

echo baba | sed "s/ba/li/"

et

echo baba | sed "s/ba\+/li/"

me retourne le même résultat, liba, alors que je croyais comprendre que le second me retournerait uniquement li. Erreur d'interprétation ou de syntaxe? Comment modifier une ou plusieurs occurences de ba par li comme dans cet exemple (baba pourrait être remplacé par bababa,etc....)

Dernière modification par metalux (Le 11/04/2013, à 22:45)

Hors ligne

#13 Le 12/04/2013, à 04:57

pingouinux

Re : [Résolu] sed et cut voient-ils la même chose ?

metalux   #12 a écrit :

Comment modifier une ou plusieurs occurences de ba par li comme dans cet exemple

$ echo baba | sed "s/\(ba\)\+/li/"
li

ou plus simple

$ echo baba | sed -r "s/(ba)+/li/"
li
$ echo babababa | sed -r "s/(ba)+/li/"
li

Hors ligne

#14 Le 12/04/2013, à 07:08

metalux

Re : [Résolu] sed et cut voient-ils la même chose ?

Merci pingouinux,
Je n'étais pas loin, j'avais également essayé avec  les parenthèses mais j'avais oublié l'option -r (ou le caractère d’échappement).

Hors ligne