#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
S
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
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.
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
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 ?
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