Hi,
wenn man einmal dabei ist...ich bin gleich aufs nächste Problem gestoßen: Ich habe eine Tabelle mit Messwerten (Datum, Uhrzeit, Temperatur, rel. Luftfeuchte, Taupunkt), will aber nur das Datum der ersten und das der letzten Messung auslesen.
----------------------------------------- 08-12-03 10:30:56 -1.97 74.5 -5.89 08-12-03 10:45:56 -1.51 73.9 -5.55 08-12-03 11:00:56 -1.06 72.5 -5.36 08-12-03 11:15:56 -0.61 70.5 -5.29 08-12-03 11:30:56 -0.61 71.2 -5.16 ----------------------------------------
Ich brauch also von der ersten Zeile die erste Spalte und von der letzten Zeile die erste Spalte.
Dazu muss ich sagen, dass die Tabelle jedes mal unterschiedlich lang sein kann., aber die Spaltenanzahl ist sicher.
Ich hab jetzt schon ne ganze Weile rumprobiert, aber ich stelle mich scheinbar ein wenig zu blöd an, um das selbst zu lösen.
Friedrich
Am 12.02.04 schrieb phriedrich:
Hi,
Hallo,
wenn man einmal dabei ist...ich bin gleich aufs nächste Problem gestoßen: Ich habe eine Tabelle mit Messwerten (Datum, Uhrzeit, Temperatur, rel. Luftfeuchte, Taupunkt), will aber nur das Datum der ersten und das der letzten Messung auslesen.
08-12-03 10:30:56 -1.97 74.5 -5.89 08-12-03 10:45:56 -1.51 73.9 -5.55 08-12-03 11:00:56 -1.06 72.5 -5.36 08-12-03 11:15:56 -0.61 70.5 -5.29 08-12-03 11:30:56 -0.61 71.2 -5.16
Ich brauch also von der ersten Zeile die erste Spalte und von der letzten Zeile die erste Spalte.
machs am besten in 2 Durchgängen:
cat deine_datei | head -n 1 | cut -d" " -f1 cat deine_datei | tail -n 1 | cut -d" " -f1
MfG, Jonas
Am 2004-02-12 16:27 +0100 schrieb phriedrich:
Hi,
wenn man einmal dabei ist...ich bin gleich aufs n?chste Problem gesto?en: Ich habe eine Tabelle mit Messwerten (Datum, Uhrzeit, Temperatur, rel. Luftfeuchte, Taupunkt), will aber nur das Datum der ersten und das der letzten Messung auslesen.
08-12-03 10:30:56 -1.97 74.5 -5.89 08-12-03 10:45:56 -1.51 73.9 -5.55 08-12-03 11:00:56 -1.06 72.5 -5.36 08-12-03 11:15:56 -0.61 70.5 -5.29 08-12-03 11:30:56 -0.61 71.2 -5.16
Ich brauch also von der ersten Zeile die erste Spalte und von der letzten Zeile die erste Spalte.
Dazu muss ich sagen, dass die Tabelle jedes mal unterschiedlich lang sein kann., aber die Spaltenanzahl ist sicher.
zuerst Zeile selektieren: ... | head -n 1 | ... -> 1. Zeile ... | tail -n 1 | ... -> letzte Zeile
sp�ter in der Pipeline mit cut die Spalte ausschneiden:
... | cut -f 1 -d\
( 1. Spalte, '\ ' (Leerzeichen) als Spaltentrenner)
Pitti
Hi!
Hach, drei Antworten mit der selben L�sung. W�re es nicht sch�n, wenn die Menschen sich �fter mal sooo einig w�ren?
;-)
Sch�nen Tag,
Pitti
phriedrich wrote:
Ich brauch also von der ersten Zeile die erste Spalte und von der letzten Zeile die erste Spalte.
head -n 1 dateiname tail -n 1 dateiname
erste Spalte rausschneiden mit
cut -f 1
die Verbindung dieser Kommandos über eine Pipe überlasse ich dem geneigten Leser ;-)
Uwe
phriedrich schrieb:
Ich brauch also von der ersten Zeile die erste Spalte und von der letzten Zeile die erste Spalte.
Die Zeilen kannst Du mit "head" und "tail" separieren und dann denn Rest mit awk '{ print $1 }'.
Bert
On Thu, Feb 12, 2004 at 04:27:57PM +0100, phriedrich wrote:
Ich brauch also von der ersten Zeile die erste Spalte und von der letzten Zeile die erste Spalte.
eine billigere lösung, was forks, pagefaults, fopen() etc angeht als die bisher gezeigten head/tail/cut/cat-Orgien ;-)
awk 'BEGIN { getline; getline; print $1 }; END { print $1 }' tabellenfile
Dazu muss ich sagen, dass die Tabelle jedes mal unterschiedlich lang sein kann., aber die Spaltenanzahl ist sicher.
das einzige Problem bei meiner Lösung ist, wenn du nur eine Zeile in deinem File hast, bekommst du trotzdem 2 Zeilen (zweimal dieselbe). Wenn das File mit der Tabelle leer ist, bekommst du 2 Leerzeilen.
Ich hab jetzt schon ne ganze Weile rumprobiert, aber ich stelle mich scheinbar ein wenig zu blöd an, um das selbst zu lösen.
lern doch einfach perl ;-)
On Thu, Feb 12, 2004 at 05:31:18PM +0100, Stefan Lagotzki wrote:
Einfacher:
awk 'NR==1 {print $1} END {print $1}' mdaten.txt
du hast recht. Ich mag auch keinen awk, aber perl wäre da halt overkill ;-)
Die Striche habe ich mal nicht mit zur Tabelle gezaehlt, sonst natuerlich NR==2.
ja, bei mir war ein getline zuviel. Das lag an meiner testdatei ;-) Ich habe die Striche auch nicht mit eingeplant.
Hallo lug,
wie kann ich es bei isdn verwirklichen das, wenn ich aus dem internet fliege (Trennung) sich er automatisch wieder einwählt? So wie bei DSL die 24h trennung. Ich hab eine isdn flat und daher wäre das sehr vorteilhaft.
Markus Pfitzner wrote:
wie kann ich es bei isdn verwirklichen das, wenn ich aus dem internet fliege (Trennung) sich er automatisch wieder einwählt? So wie bei DSL die 24h trennung. Ich hab eine isdn flat und daher wäre das sehr vorteilhaft.
Du koenntest als cronjob zu einer bestimmten Zeit "isdnctrl dial ipppX" (X = deine device-Nummer) starten. Oder periodisch abfragen, ob Du verbunden bist und dann auf diese Weise wieder einwaehlen.
ISDN-FLat? Kannst Du mir bitte die Adresse des Anbieters der ISDN-Flat und die diesbezueglichen Kosten mailen?
vielen Dank, Stefan
.
On Friday 13 February 2004 06:59, Stefan Lagotzki wrote:
Markus Pfitzner wrote: ISDN-FLat? Kannst Du mir bitte die Adresse des Anbieters der ISDN-Flat und die diesbezueglichen Kosten mailen?
Vielleicht sogar veröffentlichen? Habe auch einen Standort mit fehlender DSL-Möglichkeit und nutze dort eher unwillig Surftime 120 (zumindest glaube ich ist das der Name des "Produktes")
Danke, Uwe.
Hi Markus,
bitte schreib keinen Reply auf eine bestehende Message, wenn Du einen neuen Thread beginnst.
On Fri, Feb 13, 2004 at 04:28:03 +0100, Markus Pfitzner wrote:
wie kann ich es bei isdn verwirklichen das, wenn ich aus dem internet fliege (Trennung) sich er automatisch wieder einw?hlt? So wie bei DSL die 24h trennung. Ich hab eine isdn flat und daher w?re das sehr vorteilhaft.
man pppd, suchen nach "persist".
bye, Chris
On Fri, 13 Feb 2004 09:55:54 +0100 Christian Perle chris@linuxinfotag.de wrote:
Content-Type: text/plain; charset=us-ascii
[...]
On Fri, Feb 13, 2004 at 04:28:03 +0100, Markus Pfitzner wrote:
[...] internet fliege (Trennung) sich er automatisch wieder einw?hlt? So
Haha! Heute ist Christian der Umlaut-Verbrecher!
SCNR,
Frank Benkstein.
On Fri, 13 Feb 2004 04:28:03 +0100 "Markus Pfitzner" markus.pfitzner@reude.net wrote:
Hallo lug,
wie kann ich es bei isdn verwirklichen das, wenn ich aus dem internet fliege (Trennung) sich er automatisch wieder einwählt? So wie bei DSL die 24h trennung. Ich hab eine isdn flat und daher wäre das sehr vorteilhaft.
Evtl. einfach, in dem du dial-on-demand aktivierst, wenn Bedarf besteht wählt er sich dann auch automatisch wieder ein.
Friedrich
Kurzer Skriptvergleich:
Am 12. Februar 2004 schrieb Stefan Lagotzki:
awk 'NR==1 {print $1} END {print $1}' mdaten.txt
perl -lane'print $F[0] if $.==1||eof' mdaten.txt
;-)
Torsten
On Thu, Feb 12, 2004 at 08:04:12PM +0000, Torsten Werner wrote:
Kurzer Skriptvergleich:
Am 12. Februar 2004 schrieb Stefan Lagotzki:
awk 'NR==1 {print $1} END {print $1}' mdaten.txt
perl -lane'print $F[0] if $.==1||eof' mdaten.txt
profile das mal. Da schneidet perl wegen hoher startup-Zeiten schlecht ab.
Stefan Seyfried wrote:
profile das mal. Da schneidet perl wegen hoher startup-Zeiten schlecht ab.
In der allgemeinen Verarbeitung von (Massen)-Textdateien sind beide Sprachen wohl gleich schnell. Mit Perl sind letztlich noch komplexere Dinge moeglich. Aber da der Mensch (Admin, User, Programmentwickler) einen hohen Anteil der Kosten verursacht, muss man wohl auch die individuellen Kenntnisse beruecksichtigen.
Ich schaetze eben vor allem die sehr schnelle Verarbeitung von Zeichenketten und "Datensaetzen" aus Textdateien mit awk. Gleichzeitig ist die Einstiegsschwelle wirklich nicht sehr hoch. Man bekommt IMHO eine sehr schnelle Loesung mit relativ wenig Aufwand.
just my 2 cent, Stefan
.
On Fri, Feb 13, 2004 at 10:34:24AM +0100, Stefan Lagotzki wrote:
Stefan Seyfried wrote:
profile das mal. Da schneidet perl wegen hoher startup-Zeiten schlecht ab.
In der allgemeinen Verarbeitung von (Massen)-Textdateien sind beide Sprachen wohl gleich schnell. Mit Perl sind letztlich noch
perl ist aber dafür schöner ;-) Nur einzeiler in perl sind mir immer suspekt, zumindest wenn sie innerhalb einer Schleife in einer shell aufgerufen werden (ja, habe ich schon gesehen :-).
Ich schaetze eben vor allem die sehr schnelle Verarbeitung von Zeichenketten und "Datensaetzen" aus Textdateien mit awk. Gleichzeitig ist die Einstiegsschwelle wirklich nicht sehr hoch. Man bekommt IMHO eine sehr schnelle Loesung mit relativ wenig Aufwand.
ACK, auch wenn ich awk nicht mag. Und sed auch nicht ;-)
Am 12. Februar 2004 schrieb Stefan Seyfried:
profile das mal. Da schneidet perl wegen hoher startup-Zeiten schlecht ab.
Etwa doppelte Startupzeit gegenüber gawk. Bei hinreichend großer mdaten.txt spielt das überhaupt keine Rolle.
Torsten
On Fri, Feb 13, 2004 at 07:29:01PM +0000, Torsten Werner wrote:
Etwa doppelte Startupzeit gegenüber gawk. Bei hinreichend großer mdaten.txt spielt das überhaupt keine Rolle.
Da Friedrich sein Problem als "bash-Problem" beschrieben hat, wird das ganze vermutlich so designed sein, daß die Startupzeit das mitentscheidende Kriterium ist. Sonst hätte er gleich von "perl-Problem" geschrieben ;-)
Hi Stefan,
Da Friedrich sein Problem als "bash-Problem" beschrieben hat, wird das ganze vermutlich so designed sein, daß die Startupzeit das mitentscheidende Kriterium ist. Sonst hätte er gleich von "perl-Problem" geschrieben;-)
nun, nicht ganz...zeit spielte bei diesem Problem nur eine sehr untergeordnete Rolle. Ich hab es bash-Problem genannt, weil ich mein Problem mit bash lösen wollte und absolut KEIN Perl kann. C++ hingegen (was ich ein ganz klein wenig kann) erschien mir als doch ein wenig übertrieben. Ich nehme an, mit Perl hätte man es auch sehr gut lösen können.
Es ging, um das jetzt mal aufzulösen, darum für ein Projekt Messreihen in Diagramme umzuwandeln und die PNGs in vorbereitete HTML-Seiten einzubetten, das mit den HTML-Seiten war dann mehr Spielerei von mir, der Kern waren immer wieder gleich strukturierte Diagramme aus gnuplot, die aber z.B. automatisch das Datum der Messungen und den Namen des Messortes enthalten sollten.
Ich hab also eine Vorlagen-Datei für gnuplot angelegt, Kopien dafür für die jeweilige Messreihe manipuliert, und somit die die Inhalte mehrerer Datenreihen in mehrere Diagramme übertragen lassen.
Wenn Interesse besteht, stell ich das ganz mal ins Netz.
Nochmal, das ich kein Perl nutzte lag einfach an mangelnder Kenntnis, ich hatte es ursprünglich in Betracht gezogen.
Danke nochmal für all eure Hilfe!
Friedrich
Hi,
mein kleines Problemchen ist gelöst, vielen Dank für eure Hilfe dabei.
Vielleicht sollte ich doch Pearl lernen, bzw. meine C++-Kenntnisse erweitern.
Fröhlich grüßend, Friedrich
phriedrich wrote:
Vielleicht sollte ich doch Pearl lernen, bzw. meine C++-Kenntnisse erweitern.
Die Sprache heisst aber "Perl". Nur damit Du nicht das falsche Buch kaufst: Pearl gibt es naemlich auch. C++ brauchst Du fuer solche kleinen Probleme eigentlich nicht.
Stefan
.
Die Sprache heisst aber "Perl". Nur damit Du nicht das falsche Buch kaufst: Pearl gibt es naemlich auch.
Öhm..ja..hätte doch nachschauen sollen...
C++ brauchst Du fuer solche kleinen Probleme eigentlich nicht.
Stimmt, aber ich kann es schon ein ganz klein wenig...
Friedrich
phriedrich phriedrich@gmx.de writes:
Vielleicht sollte ich doch Pearl lernen, bzw. meine C++-Kenntnisse erweitern.
Habe ich schon erwähnt, daß es in Dresden Perl Mongers gibt? :-)
Wir freuen sich immer über neue Leute.
Bei unseren monatlichen Treffen ist prima Gelegenheit, seine Perl-Experimente mit anderen zu besprechen.
Auch Perl-Anfänger sind willkommen im Dresdner "Perl Harbor".
GreetinX Steffen
lug-dd@mailman.schlittermann.de