L'exécution de commande Grep java
Je veux exécuter la commande grep la commande à partir de java.
Voici ce que j'avais essayé. S'il vous plaît laissez-moi savoir, pourquoi il n'est pas de l'affichage de sortie.
public static void main(String args[]) throws IOException{
Runtime rt = Runtime.getRuntime();
String[] cmd = { "/bin/sh", "-c", "grep 'Report Process started' server.log|wc -l" };
Process proc = rt.exec(cmd);
BufferedReader is = new BufferedReader(new InputStreamReader(proc.getInputStream()));
String line;
while ((line = is.readLine()) != null) {
System.out.println(line);
}
System.out.println("Done");
}
Pourquoi êtes-vous désireux d'externaliser
Je veux obtenir le nombre de Rapport de démarrage du Processus de la " chaîne de caractères dans le fichier journal... Est-il un autre moyen que je peux obtenir à compter de la chaîne de suggérer...
Droit, alors pourquoi ne pas simplement compter vous-même en Java? Ou d'exécuter tout ce à partir d'un script shell?
Essayez de fournir le chemin complet vers le fichier de log.
grep
?Je veux obtenir le nombre de Rapport de démarrage du Processus de la " chaîne de caractères dans le fichier journal... Est-il un autre moyen que je peux obtenir à compter de la chaîne de suggérer...
Droit, alors pourquoi ne pas simplement compter vous-même en Java? Ou d'exécuter tout ce à partir d'un script shell?
Essayez de fournir le chemin complet vers le fichier de log.
OriginalL'auteur Ramu Pasupuleti | 2013-09-20
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas besoin de tuyau grep sortie de
wc -l
. Utilisez simplementgrep -c
comme ceci:Même si je dois dire que c'est bon à l'intérieur de Java est beaucoup plus propre. Considérer le code comme ceci:
OriginalL'auteur anubhava
Vous devez vérifier les erreurs.
OriginalL'auteur vels4j