Archiv verlassen und diese Seite im Standarddesign anzeigen : mehr zeiliges std-output in variable speicher, wie??
hi leute,
diesmal nur ne kurze frage.
wie kann man die mehrzeilige ausgabe eines programmes in einer variable so speichern, dass man entweder wort oder zeilen weise drauf zugreifen kann??
es geht um shell-scripting mit der bash...
mfg carn
ps: durch suchen bei google,etc, hab ich rausgefunden, wie man den output ueberhaupt in variablen speichern kann, naemlich var=`programmaufruf`, aber leider werden mehrzeilige ausgaben einfach in eine zeile hintereinander geschrieben, was nicht dem entspricht, was ich erreichen wollte.
Hans-Georg Normann
24-09-2003, 18:09
Ich weiß zwar nicht genau was du erreichen willst, aber versuchen wir's doch mal:
Hast du Python installiert? Da gäbe es ne Möglichkeit mit popen, popen2 oder popen3 zu arbeiten.
Kannst das ganze auch in eine temporäre Datei umleiten und dann beispielsweise mit awk oder was auch immer auslesen und verarbeiten.
hallo,
naja von phyton hab ich leider null ahnung, und das is schon nett ausgedrueckt.
in eine temporaere datei das ganze umzuleiten wuerde mein problem beheben, jedoch beim durchlaufen des scriptes eine datei mehrere hundert mal mit jeweils anderer groesse neuschreiben --> is mir zu viel bewegung im fs
mfg carn
z. B.
$AUSGABE=$(find /var/log)
for variable in $AUSGABE
do
echo $variable
done
Hans-Georg Normann
24-09-2003, 20:35
Original geschrieben von cArN4g3
naja von phyton hab ich leider null ahnung, und das is schon nett ausgedrueckt. Naja, die meisten haben Windows gelernt, dann sollte Python doch wohl kein Prob sein:D
ich habe hier mal ein lauffähiges script. Dann kannst du selbst entscheiden, ob du dich damit abgeben möchtest oder nicht
#!/usr/bin/python
import os
_stdin, _stdout, _stderr = os.popen3("ls -l /home/hans")
for _s in _stdout.readlines():
print _s.strip()
for _s in _stderr.readlines():
print _s.strip()
_stderr.close()
_stdout.close()
_stdin.close()
Brauch wohl nicht zu erklären, dass die Variable _s natürlich auch nach worten zerlegt werden kann.
Hans
$AUSGABE=$(find /var/log)
for variable in $AUSGABE
do
echo $variable
done
dann kannst du auch gleich:
for variable in `command`
do
echo $variable
done
hi leute,
ich will euch erstmal danken fuer die hilfreichen antworten :)
bitte nicht ueber einen evtl. komisch aussehenden post wundern, mein X geht grad net, und ich probiere gerade "links" aus, ein lustiger consolen-browser, sehr zu empfehlen!!
die links werden sicherlich auch hilfreich sein, mal schaun!
phyton sah eigentlich recht simpel aus und ich werd es mir auf jedenfall mal auf meiner box anschauen, aber fuer den eigentlichen sinn, fuer den ich das script geplant haben, naemlich "der ausfuehrung unter cygwin @ work" werd ich das wohl net verwenden koennen, oder laeuft die sprache auch unter cygwin?
mfg carn
Hans-Georg Normann
24-09-2003, 22:00
Original geschrieben von cArN4g3
......., naemlich "der ausfuehrung unter cygwin @ work" werd ich das wohl net verwenden koennen, oder laeuft die sprache auch unter cygwin?Genau so ist es! schau mal bei http://python.sandtner.net (Deutsches Python Forum) vorbei oder auf http://www.python.org
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.