Je suis en train de saisir le numéro de processus de cette commandecapturant la sortie de grep et coupé à une variable dans tcsh
ps ax | grep catalina
à une variable tcsh.
Jusqu'à présent, je suis en mesure de faire écho le numéro de processus à l'écran en utilisant ce script:
set pnum = `ps ax | grep catalina`
echo $pnum | cut -d' ' -f1
Mais lorsque je tente ce pour obtenir le résultat à la fois du grep
et la cut
set pnum = `ps ax | grep catalina | cut -d' ' -f1`
le résultat est une chaîne vide.
et cette séquence
set pnum = `ps ax | grep catalina`
set pnum = `$pnum | cut -d' ' -f1`
génère une erreur 1104: Command not found.
.
Qu'est-ce qui me manque?
Merci pour les conseils. La sortie de mon grep est '1104 s002 S 6: 25.87/Bibliothèque/Java/J ...' Donc, si je le fais à la place: set pnum = 'ps ax | grep catalina | couper -d '' -f 2 | cut -d '' -f 1', pnum revient maintenant –
Merci pour les conseils. sortie de ma grep est 1104 S002 S 6: 25,87 /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/bin/java -Djava.util.logging.config.file =/Utilisateurs/stephenschultz/apache-tomcat-7.0.55/conf/logging.properties -Djava.util.logging.manager = org.apache ... Donc, si je fais cela à la place de la commande dans mon message initial pnum = 'ps ax | grep catalina | couper -d '' -f 2 | cut -d » '-f 2 pnum revient avec D'où vient le 8895 supplémentaire de? –
que se passe-t-il si vous obtenez un PID de seulement 3 places? ou 5 ou 6? En outre, vous créez une solution très "coûteuse", en ce sens que vous avez 3 processus pour "couper" la valeur dont vous avez besoin. La solution 'awk' que j'inclus gère n'importe quelle taille d'un PID et n'est qu'un processus. Mais content que vous ayez trouvé des trucs par vous-même. Bonne chance. – shellter