The UNIX and Linux Forums  

Go Back   Les systèmes UNIX et Linux Forums > Top Forums > De programmation et de script Shell
.
google unix.com



De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
Fractionnement de fichiers basé sur le nombre de lignes wahi80 De programmation et de script Shell 2 06-03-2008 10:38 PM
Copier des lignes à partir d'un fichier de log basés sur l'horodatage ranjiadmin UNIX for Advanced & Expert Users 1 05-22-2008 04:16 AM
la recherche et de stockage nombre inconnu de lignes basées sur la corde avec une condition swamymns De programmation et de script Shell 7 05-13-2008 02:02 AM
Grabbing lignes d'un fichier sur la base d'une date bsp18974 De programmation et de script Shell 2 07-17-2006 09:58 AM
cas basée sur la disponibilité des fichiers Loriel De programmation et de script Shell 6 06-01-2004 09:24 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 05-14-2004
LordJezo
Guest
  
 

Messages: n / a
Bits: 0 [Banking]
Question Comment puis-je faire si une déclaration d'exécuter en fonction du nombre de lignes dans un fichier?

J'ai besoin d'avoir une déclaration si un script à exécuter si il ya des processus en cours d'exécution. Le plus facile, je peux voir pour ce faire est d'exécuter un grep ps et les résultats en fonction de ce que je suis à la recherche de:

$ Ps-ef | grep wtrs
---
webtrend 5046 1 0 Mai 12? 0h28 / webtrends/versions/6.1/wtrs_ui-start
---
webtrend 5030 1 0 Mai 12? 3h29 / webtrends/versions/6.1/wtrs-start
---
webtrend 3550 5030 25 07:03:40? 91:09 / webtrends/versions/6.1/wtrs 314-enfant
---
webtrend 6473 3999 0 09:10:08 pts / 4 0:00 grep wtrs
---
webtrend 4409 5030 11 07:35:54? 60:29 / webtrends/versions/6.1/wtrs 315-enfant


("--" Ajouté dans la ligne seperators)


Normalement, je m'attends à voir les premier, deuxième et quatrième lignes. Cela signifie que tout fonctionne normalement. Les troisième et cinquième lignes de cet exemple sont présents parce que le programme (wtrs) est actuellement à l'exécution de certaines commandes.

Donc, ce que je veux faire est une déclaration qui dit que si (en anglais):

Si wtrs est présent dans l'exemple ci-dessus 3 fois ou moins, d'exécuter les commandes suivantes, sinon, faire autre chose.

Alors, ce que je pensais de faire a été d'envoyer la sortie de la commande ps dans un fichier texte:

$ Ps-ef | grep wtrs> test.txt

Ensuite, si la déclaration peut dire:

Si test.txt <4 lignes, exécuter.

Tout le monde sait quelque chose comme cela serait possible, ou si il serait même possible?
  #2 (permalink)  
Old 05-14-2004
zazzybob's Avatar
zazzybob zazzybob is offline Forum Advisor  
Inscrits Geek
  
 

Join Date: Dec 2003
Lieu: Melbourne, Australie
Messages: 2100
Utilisez wc-l pour compter les lignes de la production

c'est-à-dire
Code:
if [ $( ps -ef | grep wtrs | wc -l ) -gt "3" ];
then
   # do stuff for more than 3 lines
else
   # do stuff for three or less lines
fi
paix,
ZB
http://www.zazzybob.com
  #3 (permalink)  
Old 05-14-2004
LordJezo
Guest
  
 

Messages: n / a
Bits: 0 [Banking]
Citation:
Originally posted by zazzybob
Utilisez wc-l pour compter les lignes de la production

c'est-à-dire
Code:
if [ $( ps -ef | grep wtrs | wc -l ) -gt "3" ];
then
   # do stuff for more than 3 lines
else
   # do stuff for three or less lines
fi
Quelle est la-gt "3" bit signifie?
  #4 (permalink)  
Old 05-14-2004
zazzybob's Avatar
zazzybob zazzybob is offline Forum Advisor  
Inscrits Geek
  
 

Join Date: Dec 2003
Lieu: Melbourne, Australie
Messages: 2100
-gt "3", c'est plus de 3
  #5 (permalink)  
Old 05-14-2004
LordJezo
Guest
  
 

Messages: n / a
Bits: 0 [Banking]
Le script ressemble à ceci:

#! / bin / sh
if [$ (ps-ef | grep wtrs | wc-l)-gt "3"];
puis
echo de fonctionnement des choses
autre
echo il peut être arrêté
fi


erreur, il est quand il est lancé:

erreur de syntaxe à la ligne 2: `( 'inattendu

  #6 (permalink)  
Old 05-14-2004
zazzybob's Avatar
zazzybob zazzybob is offline Forum Advisor  
Inscrits Geek
  
 

Join Date: Dec 2003
Lieu: Melbourne, Australie
Messages: 2100
Essayez de remplacer
if [$ (ps-ef | grep wtrs | wc-l)-gt "3"], puis

avec
if [ `ps-ef | grep wtrs | wc-l`-gt "3"], puis

Vous utilisez le shell Bourne, essayez backquotes place.

Ou considérez l'utilisation de #! / Bin / ksh s'il est installé d'origine et de la syntaxe ci-dessus.

Paix
ZB
http://www.zazzybob.com
  #7 (permalink)  
Old 05-14-2004
LordJezo
Guest
  
 

Messages: n / a
Bits: 0 [Banking]
Thumbs up

Ah ha!

C'est tout. Silly me .. simplement en utilisant un autre shell.

Merci beaucoup.
Closed Thread

Bookmarks

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 08:50 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0