2010-09-22 4 views
0

J'ai un problème avec regex en utilisant la commande sh cute, le problème est que je veux montrer tous les processus qui commencent par g et juste afficher la commande, mais ne sais pas, aidez-moi s'il vous plaît?Processus Regex en utilisant cut (Linux) (sh)

Pour ce faire, j'utilise la commande:

ps aux | grep g 

mais ce spectacle tous les processus qui contient la lettre g et i besoin qui commencent par g et couper la commande pour obtenir ce, par exemple i obtenir une sortie de ps

root  1012 0.0 0.0 6128 644 tty4  Ss+ 16:10 0:00 /sbin/getty -8 38400 tty4 

1000 4571 0.0 0.0 12724 868 pts/4 S+ 19:21 0:00 grep --color=auto g

Et je dois obtenir seulement/sbin/gett y parce que c'est dans le chemin et la commande grep. En definitive obtenir tous les fichiers commencent par g et couper et couper ci-dessus afin que ce soit la commande et les attributs PD: J'ai besoin d'utiliser pour obtenir tout avec les commandes grep et couper, et je ne peux pas ne pas utiliser le pgrep.

Merci à l'avance

+0

'awk' sera plus facile que' cut' pour obtenir le champ droit dehors. –

+0

J'ai besoin d'utiliser la coupe pour le script –

+0

Si c'est un devoir, il devrait avoir le tag 'devoirs '. – ninjalj

Répondre

0

Vous n'avez pas coupé:

ps -ao command | grep g 
+0

quand je mets ce/sbin/getty ne montre pas –

+0

Que montre? Cela a fonctionné sur mon système. – Cfreak

0

Qu'en est-ce:

ps -o "comm" -A | grep -E "^g" 
0

Vous ne pouvez pas partager avec cut sur un regex, un groupe de espaces dans ce cas. Vous pouvez soit couper à partir d'un certain octets, ou couper par un seul délimiteur de caractères. Ainsi, vous pouvez faire

ps aux | cut -b66- | grep g 
0

Peut-être ceci:

ps -eo command | grep -E '^(|\S*/)g' 
Questions connexes