2013-01-10 2 views
0

J'ai actuellement ma sortie grep configurée pour placer tout dans un fichier, j'essaie de définir quelque chose où un fichier n'aura pas besoin d'être créé.Sortie grep placée dans une boucle while

func_database() { 
egrep "^[0-9]" file.txt | egrep "/ON /" | sed s/-[^@]*$// > /users/home/myhome/log/test.txt 
} 

            func_database 
      while read -r line ; do 
            echo "Database $line Area a:" 
      python amgr.py status $line a 
      echo "" 
         echo "Database $line Area b:" 
      python amgr.py status $line b 
      echo "" 
         echo "Database $line Area c:" 
      python amgr.py status $line c 
      echo "" 
      done </users/home/myhome/log/test.txt 

est dessus de ma configuration actuelle, est-il de toute façon je peux mettre quelque chose où je ne vais pas besoin d'envoyer ces informations au fichier test.txt avant de l'exécuter dans le temps; faire fonction. Le script python affichera simplement l'état à l'écran. Le fichier test.txt contient une liste de numéros séparés par la ligne par exemple

0 
15 
32 
78 
95 

Répondre

0

pipe votre sortie directement dans le while:

func_database() { 
    egrep "^[0-9]" file.txt | egrep "/ON /" | sed s/-[^@]*$// 
} 
func_database | 
while read -r line 
do 
    echo "Database $line Area a:" 
    python amgr.py status $line a 
    echo "" 
    echo "Database $line Area b:" 
    python amgr.py status $line b 
    echo "" 
    echo "Database $line Area c:" 
    python amgr.py status $line c 
    echo "" 
done