2016-05-13 16 views
0

Ich versuche, einen Wrapper für den oberen Befehl zu schreiben und einige Informationen zu ersetzen, die es mir mit nützlicheren Informationen gibt. Genauer gesagt möchte ich die Informationen zur Speichernutzung durch die Informationen aus dem swap-Befehl ersetzen.SED verwenden, um eine bestimmte Zeile mit Befehlsausgabe zu ersetzen

hier ist der Code ich habe:

#!/usr/bin/csh 

# files and directories 
# /user/bin for who, cut, sort, ps, sed, cat, rm, mv, grep, echo, hostname, swap 
set ubin="/usr/bin" 

# tmp files and directory 
set dir="/tmp" 
set TopData=$dir/"Topdata" 
set SwapData=$dir/"SwapData" 

while (1 == 1) 
     swap -sh > $SwapData 
     $ubin/top -b |sed -e "[email protected]*@[email protected]" > $TopData 
     $ubin/clear 
     $ubin/cat $TopData 
     $ubin/sleep 2 
end 

In diesem Beispiel habe ich SwapData als temporäre Datei zu verwenden, wurde versucht, die Informationen aber $ SwapData nur den Pfad nicht offensichtlich die Daten in die Datei gibt zu halten und Ich kann den Befehl swap nicht direkt innerhalb des Arguments sed (oder irgendeines Befehls) verwenden.

Antwort

0

Versuchen Sie dies in Ihrer Schleife:

SwapData=`swap -sh` 

Auch, warum schreibst du in csh?

Verwandte Themen