Broadcast Geschrieben 10. Dezember 2013 Teilen Geschrieben 10. Dezember 2013 Hallo, habe ein Bash-Script welches mir den Stromverbauch von Verbrauchern liefert. Es gibt mir 2 Variablen (Verbraucher und Momentanverbrauch in Watt)aus: NSHV1 179929 NSHV2 119165 MB1 12311. MB2 6188.8 MB3 30056. MB4 125551 HR 6568.4 RL 349.92 SB 3473.2 UH 79.674 Ich möchte gerne das Wert (Watt) ohne "." und ohne Nachkommastellen erscheint. Jetzt mache ich es so: WATT=`modpoll -m tcp -r 64 -c 1 $NETZ${IP[$Z]} -1 -t4:float -f | tail -1 | cut -c 7-12` Statt dem cut sollte es sicher mit sed gehen. Weiß jemand wie? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Crash2001 Geschrieben 10. Dezember 2013 Teilen Geschrieben 10. Dezember 2013 Die Frage, die sich mir dabei aber direkt stellt ist, ob es einfach beim Punkt abgeschnitten werden soll (keine Rundung, sondern nur volle Ganzzahlen zählen), oder ob gerundet werden soll auf eine Ganzzahl. Das wurde bisher nicht klar. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Broadcast Geschrieben 10. Dezember 2013 Autor Teilen Geschrieben 10. Dezember 2013 nein keine Rundung, nur die Ganzzahlen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Crash2001 Geschrieben 10. Dezember 2013 Teilen Geschrieben 10. Dezember 2013 Vielleicht hilft dir das hier weiter. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Broadcast Geschrieben 10. Dezember 2013 Autor Teilen Geschrieben 10. Dezember 2013 oje, 'sed', das musste ja mal so kommen. leider für mich keine schnelle Lösung aber wenn ich es kapiere, poste ich es. :-) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Crash2001 Geschrieben 10. Dezember 2013 Teilen Geschrieben 10. Dezember 2013 Vielleicht hilft dir auch awk dabei (ist ebenso ein Unix-Tool zur Textbearbeitung - was was besser kann, weiß ich auch nicht). Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bummel Geschrieben 11. Dezember 2013 Teilen Geschrieben 11. Dezember 2013 Das sollte mit awk oder auch sed leicht zu lösen sein. Beim awk kannst du mit -k das Trennzeichen angeben. In diesem Fall ".". awk -F . '{print $1}' Beim sed einfach alles ab dem Punkt mit nichts substituieren. sed 's/\..*//' Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
schepp Geschrieben 11. Dezember 2013 Teilen Geschrieben 11. Dezember 2013 Per sed würde es z.B. so gehen: DEIN-BEFEHL | sed -e 's/\..*$//' Gruß Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Broadcast Geschrieben 12. Dezember 2013 Autor Teilen Geschrieben 12. Dezember 2013 habs noch nicht kapiert, aber das ist die Lösung, danke. Komme einnfach nicht drum rum mir mal den fetten Oreilly genauer anzusehen. schöne Feiertage Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Crash2001 Geschrieben 12. Dezember 2013 Teilen Geschrieben 12. Dezember 2013 Es gibt da übrigens auch ein kleines Büchlein zu. Klick mich Ist eine gute Referenz, wenn man nachschauen will, wie man da etwas macht. Ergänzend dazu gibt es auch noch etwas in der Art für reguläre Ausdrücke. Klick mich.. Die beiden Bücher kann ich nur empfehlen. Leider bin ich mittlerweile wieder fast komplett da raus, aber die beiden Bücher haben mir damals doch diverse Male gute Dienste geleistet. Ein wenig Vorwissen / Grundwissen von Linux und den beiden Themen sollte man natürlich auch da schon haben. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Broadcast Geschrieben 12. Dezember 2013 Autor Teilen Geschrieben 12. Dezember 2013 sind ein wenig schlanker die Beiden. :-) merci Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.