nullpointer.at Entwicklung, Fotografie und mehr

22Apr/120

Fotowoche KW15: orchid in orange

Verfasst von

Ja, es ist nichts Neues, ich bin spät dran. Dennoch möchte ich euch diese Impression einer Orchidee nicht vorenthalten. Dass der Hintergrund (ein simpler Vorhang) so malerisch wirkt hätte ich mir beim Fotografieren nicht erträumt.

Kalenderwoche 15 - orchid in orange

orchid in orange

Thomas Pummer

Thomas Pummer ist Softwareentwickler an der Universität Wien. In seiner Freizeit betreut er das Open Source Projekt TrayRSS und werkt an diversen anderen kleinen Projekten. Er ist sehr interessiert an Open Source und Webentwicklung und testet gern neue Programmiersprachen.

More Posts - Website

Follow Me:
TwitterGoogle PlusFlickr

Ähnliche Artikel:

15Apr/120

Dateien zählen unter Linux

Verfasst von

Otto Normal hat damit unter Windows sicher keine Probleme und die meisten Linuxuser unter dem Betriebssystem ihrer Wahl wohl auch nicht. Will aber Otto mal in Linux reinschnuppern und dort Dateien zählen, stellt ihn das als Laien vor eine respektable Herausforderung.

Um sich den Inhalt eines Verzeichnisses aufzurufen ist ihm wahrschienlich schon der Befehl

ls

bekannt. ls steht für “list” Doch liefert dieser Befehl lediglich eine Auflistung des Inhalts des gegenwärtigen Verzeichnisses. Daher muss diese Ausgabe noch ausgewertet werden. Hierfür setzen wir Pipes | ein mit denen man mehrere Kommandos miteinander verbinden kann. Hierbei wird jeweils die Ausgabe des vorhergehenden Befehls als Eingabe für den nächsten Befehl herangezogen.

ls –1 | wc –l

wir haben hierbei den ls Befehl um den Parameter –1 (Zahl Eins) erweitert der für eine lange Listenform steht. Es wird somit jedes Element in einer extra Zeile angeführt. Die Ausgabe davon wird per Pipe an den wc Befehl weitergeleitet. wc steht in diesem Fall für Word Count. Erneut über einen Parameter –l (kleines L) weisen wir wc darauf hin, dass es die Zeilen zählen soll, die es übergeben bekommt.

Achtung! Wurde statt der 1 ein kleines L als Parameter an ls übergeben ist die Ausgabe um eins größer als die Anzahl der Elemente. Dies liegt daran, dass dabei noch eine weitere Zeile Output erzeugt wird, die keine Datei wiederspiegelt.

ls –l <targetdir> | wc –l

Wollen wir nicht direkt das Ergebnis aus dem Verzeichnis in dem wir uns befinden, können wir das Zielverzeichnis am ls Befehl anhängen.

Fürs erste kann man damit zufrieden sein, doch bei genauerer Betrachtung stößt man dabei rasch an die Grenzen des Befehls. Man zählt nämlich symbolische Links und Verzeichnisse und Dateien gleichermaßen.

Wir tauschen nun also den list Befehl gegen einen spezialisierteren Befehl  aus: find

find <targetdir> –maxdepth 1 –type f | wc –l

Mit -type f schränkt man die Auflistung der Ergebnisse auf Datein (files) ein. Dies könnte man z.B. auch auf Verzeichnisse (directorys) einschränken: –type d

Achtung, bei der Auflistung der Verzeichnisse wird das gegenwärtige Verzeichnis . mitgezählt, vom Gesamtergebnis also wieder eins abziehen.

Von Haus aus würde der find Befehl alle Unterverzeichnisse absuchen. Mittels –maxdepth <zahl> kann die Tiefe die er dabei erreicht steuern. Die 1 aus dem Beispiel oben steht hierbei nur für das Wurzelverzeichnis. Möchte man lediglich eine Verzeichnisebene tiefer wäre –maxdepth 2 der passende Parameter.

Will man nun auch wieder die symbolischen Links in seinem Suchergebnis dabei haben muss man den find Befehl noch um den –follow Parameter erweitern

find <targetdir> –maxdepth 1 –type f –follow | wc –l

Möchte man nun noch auf Dateiendungen oder anderen Teilen des Dateinamens einschränken gilt es noch den -name '*.txt' Parameter zu erwähnen. Zwischen den Anführungszeichen wir der Suchbegriff angeführt, * und ? gelten dabei als die üblichen Wildcards.

find <targetdir> -maxdepth 1 -type f -follow -name '*.t?t' | wc -l

Happy counting!

PS: Rekursives suchen wäre mit dem ls Befehl mittels –R Parameter möglich

Thomas Pummer

Thomas Pummer ist Softwareentwickler an der Universität Wien. In seiner Freizeit betreut er das Open Source Projekt TrayRSS und werkt an diversen anderen kleinen Projekten. Er ist sehr interessiert an Open Source und Webentwicklung und testet gern neue Programmiersprachen.

More Posts - Website

Follow Me:
TwitterGoogle PlusFlickr

Ähnliche Artikel:

11Apr/121

Fotowoche KW14: deffodils

Verfasst von

Eigentlich wollte ich ja für heute ein Osterfoto schießen. Die Szenerie war auch schon perfekt, Lichteinfall, Winkel, Dekoration. Die Leute in meinem Heimatort haben sich echt Mühe gegeben. Ein Baum voller Ostereier und im Hintergrund eine mannshohe Strohpuppe, welche die Frau vom Osterhasen in Tracht darstellt. Perfekt!

Und dann kommt dem ein kleines unscheinbares Blümchen, ein Märzenbecher, dazwischen.

Kalenderwoche 14 - deffodils

daffodils

Thomas Pummer

Thomas Pummer ist Softwareentwickler an der Universität Wien. In seiner Freizeit betreut er das Open Source Projekt TrayRSS und werkt an diversen anderen kleinen Projekten. Er ist sehr interessiert an Open Source und Webentwicklung und testet gern neue Programmiersprachen.

More Posts - Website

Follow Me:
TwitterGoogle PlusFlickr

Ähnliche Artikel:

4Apr/120

Fotowoche KW13: peach blossoms

Verfasst von

Der Frühling ist da, in allen Ausprägungen! Schnee, Regen, Sonne, Wind, Vogelgezwitscher und natürlich recken sich überall die Pflanzen nach mehr Licht und Wasser. Mit meinem Pfirsichbäumchen am Balkon will ich mich also den Fotografen dieser Welt anschließen und auch ein Blütenfoto veröffentlichen.

Kalenderwoche 13 - peach blossoms

Peach blossoms

Genießt den Frühling solange es noch nicht zu heiß ist :)

Thomas Pummer

Thomas Pummer ist Softwareentwickler an der Universität Wien. In seiner Freizeit betreut er das Open Source Projekt TrayRSS und werkt an diversen anderen kleinen Projekten. Er ist sehr interessiert an Open Source und Webentwicklung und testet gern neue Programmiersprachen.

More Posts - Website

Follow Me:
TwitterGoogle PlusFlickr

Ähnliche Artikel:

1Apr/120

Java 7 Compiler in Maven

Verfasst von

Lang ist’s her dass ich hier was technisches gebracht hab. Die Fotographie und einige private Dinge haben mich davon ab gehalten. Doch die Zeit der dürre ist vorbei, ich hab wieder begonnen meine Erfahrungen für den Blog festzuhalten :D

Möchte man Java 7 in einem Maven Projekt verwenden muss man dem Maven Compiler Plugin das auch mitteilen. Dieses würde atm. ansonsten versuchen das Projekt mit gutem alten Java 5 zu bauen.

Dazu muss das Plugin über folgende Angaben in der pom.xml umkonfiguriert werden:

<build>
    
    <plugins>
        
        <plugin>
            <groupid>org.apache.maven.plugins</groupid>
            <artifactid>maven-compiler-plugin</artifactid>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
                <showdeprecation>true</showdeprecation>
                <showwarnings>true</showwarnings>
                <executable>${env.JAVA_7_HOME}/bin/javac</executable>
                <fork>true</fork>
            </configuration>
        </plugin>
    </plugins>
</build>

Natürlich muss der Entwickler dafür die Umgebugnsvariable JAVA_7_HOME auf den Rootordner des JDKs der Version 7 linken.

Weitere Infos gibts auf der Seite des Maven Compiler Plugin. Unter Examples gibt es auch den Punkt “Compile Using A Different JDK” der die Vorgehenswiese dabei analog beschreibt. Dabei wird auch eine Möglichkeit aufgezeigt wie der Entwickler den Path JAVA_7_HOME in seiner Maven settings setzen kann.

Have Fun mit Java 7

Thomas Pummer

Thomas Pummer ist Softwareentwickler an der Universität Wien. In seiner Freizeit betreut er das Open Source Projekt TrayRSS und werkt an diversen anderen kleinen Projekten. Er ist sehr interessiert an Open Source und Webentwicklung und testet gern neue Programmiersprachen.

More Posts - Website

Follow Me:
TwitterGoogle PlusFlickr

Ähnliche Artikel: