Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
681 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Problème avec le cut

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème avec le cut

n°738411
brolouille
Posté le 25-05-2004 à 19:22:04  profilanswer
 

Bonjour
 
je suis newb en script shell.  :sweat:  
j'aimerais récupérer le champ PID de la commande ps avec un cut. mais je n'arrive pas a sélectionner le 2e champ. Le délimiteur 'tab' par défaut ne marche pas ! La commande ps ne doit pas être délimité par des tab mais par des espaces je pense et ca fout le bordel... :fou:  
 

Code :
  1. cmd=`ps aux | grep machin | cut -f1,2`
  2. echo "$num"


 
J'ai d'ailleurs une seconde question. Comment fait on pour traiter ligne par ligne la variable num si le résultat me retourne plusieurs lignes ?
 
merci beaucoup

mood
Publicité
Posté le 25-05-2004 à 19:22:04  profilanswer
 

n°739176
bobuse
Posté le 26-05-2004 à 10:23:19  profilanswer
 

man pidof :)
 
sinon, en général quand je suis limité par cut, j'utilise awk, exemple :

ps aux | awk '$11=/.*gkre[l]lm.*/ {print $2}'


 
Tu noteras le "/.*gkre[l]lm.*/" qui la chaine recherchée, avec des crochets car quand tu fais un ps aux | grep machin, tu risques d'avoir dans les résultats la commande que tu viens de lancer. Pour éviter ça, fais plutôt ps aux | grep ma[c]hin ;)

n°739678
brolouille
Posté le 26-05-2004 à 13:12:54  profilanswer
 

merci ca marche beaucoup mieux avec le awk. En revanche je n'arrive pas utiliser les '[]' comme tu me le conseille.
 
mais j'ai un probleme par contre.
 

Code :
  1. ps aux | awk '$11="machin.pl" {print $1,$2,$11}'


 
et il me sort tout plein de processus ki sont meme pas lancé je comprend pas pourquoi :??:  
 

Code :
  1. ...
  2. rpcuser 1083 machin.pl
  3. xfs 1186 machin.pl
  4. root 1225 machin.pl
  5. daemon 1270 machin.pl
  6. root 1271 machin.pl
  7. root 1288 machin.pl
  8. root 1304 machin.pl
  9. root 1310 machin.pl
  10. root 1311 machin.pl
  11. daemon 1330 machin.pl
  12. root 1357 machin.pl
  13. root 1476 machin.pl
  14. root 1500 machin.pl
  15. ...


 
112 précisement ...

n°739688
brolouille
Posté le 26-05-2004 à 13:16:23  profilanswer
 

Si j'utilise les '/'

Code :
  1. ps aux | awk '$11=/.*machin.pl.*/{print $1,$2,$11}'


 
il me sort

Code :
  1. root 2951 1


 
mais je sais pas d'ou vient le '1' ca devrait etre machin.pl normalement


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Problème avec le cut

 

Sujets relatifs
Problème avec dimension d'une animation flashProblème de propriétés avec un composant C++Builder 5
Problême espace membres en PHPproblème de conversion d'un hexadécimal en binaire !
Doc PHP problème [Résolu][Access] Problème lors d'un ajout grâce à un sous-formulaire
Problème avec d'affichage d'une requête SQL... HELPProblème => ServletException/jsp
Probleme de CSS / liens à moitié cliquables [Résolu][Compatibilité entre Moz et IE] Problème de rafraichissement [resolu]
Plus de sujets relatifs à : Problème avec le cut


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR