KW 13: Mo, 27.03.2023 | IT-Beratung, Entwicklung, Systemanalyse
 

Articles

Kreativität

Kreativität ist Intelligenz, die Spaß hat. Albert Einstein

von rl am So, 31 Mai 2015
tags:

Dateien finden unter Unix

Dateien sind unter Unix schnell gefunden …

… mit find. Dem Kommando find gibt man ein Startverzeichnis an (also . für das aktuelle Verzeichnis oder / für die Wurzel) sowie einen Dateinamen. Wenn nur ein Teil des Dateinamens bekannt ist, kann man mit * (Stern) unbekannte Teile maskieren. Dann sollte man allerdings den Suchbegriff in Anführungszeichen (quoten) schreiben, damit nicht schon die Shell den Stern interpretiert.

Hier also ein paar Beispiele:

  • Suche ab / nach der Datei calculate.es und gibt den gefunden Pfad aus:

    find / -name calculate.es -print

  • Statt -print kann man auch -ls angegeben, dann hat man gleich ein ls -l der Datei (statt nur den Pfad) in der Ausgabe:

    find / -name calculate.es -ls

  • Mit -iname statt -name wird Gross-/Kleinschreibung ignoriert (i wie ignore, ist also keine Apple-Suche):

    find / -iname calCuLate.Es -print

  • Ausgabe aller Pfade, die irgendwo im Dateinamen ein calcul enthalten, aber auf jeden Fall mit es enden:

    find / -iname “*calcul*es” -print

  • Suche nur Objekte vom Typ Datei (f für ordinary files), alles andere, insbes. Verzeichnisnamen werden ignoriert:

    find / -type f -iname calculate.es -print

  • Manchmal stören Meldungen wie “find: …foo bar…: Permission denied”, weil man kein Recht hat, in das betreffende Verzeichnis zu schauen. Dann lohnt es sich, die Fehlermeldungen wegzudrücken, am besten gleich nach /dev/null (die Fehlermeldungen kommen auf Standarderror, was für die Shell der file descriptor 2 ist):

    find / -type f -name calculate.es -print 2>/dev/null

  • Weiteres Beispiel: Verschieben von mp3-Dateien aus mehreren Verzeichnissen und Unterverzeichnissen in ein neues Verzeichnis, z.B. “musik”. Hierzu verwenden wir xargs, damit nicht für jede Datei ein neuer Prozess (via find -exec erzeugt und ausgeführt werden muss). Den Stern (Wildcardzeichen der Shell für beliebige Dateinamen(-steile) müssen wir Quoten, durch Anführungszeichen):

    find . -name “*.mp3” -print0 | xargs -0 -I {} mv {} musik

  • Kann man auch mit wav-Dateien machen (mp3 durch wav austauschen), oder in einem Befehl, indem wir die beiden Bedingungen (Name endet auf mir oder auf wav) ver-odern (Klammerung nicht vergessen, wobei wir die Klammer für die Shell escapen müssen):

    find . \( -name “*.mp3” -or -name “*.wav” \) -print0 | xargs -0 -I {} mv {} musik

Viel Erfolg!

von rl am Fr, 11 Okt 2013
tags:

App für Bogenschützen

Sind Sie traditioneller Bogenschütze? Eine neue sehr komfortable App zur Erfassung und Verwaltung von Treffern für 3D-Bogenschützen ist für iPhone-Geräte verfügbar. Die App Schiesszettel erscheint zunächst für den deutschsprachigen Raum.

von rl am Fr, 5 Apr 2013
tags:

Oracle-Date in einen Unix-Timestamp wandeln

Frage:
Wie wandelt man einen Oracle-Timestamp in einen (aus Unix bekannten) Zeitstempel als Long in Millisekunden seit 01.01.1970 um?
Antwort:

Mit z.B. tsToUnixMS(), wie in select systimestamp, tsToUnixMS(systimestamp) as ms from dual;

Dabei wird aus z.B. "23-OCT-07 11.31.26.777834 AM +02:00" der Long-Wert "1193139086777". Ist kein tsToUnixMS() zur Hand? Einfach selbst definieren:

CREATE OR REPLACE FUNCTION tsToUnixMS(datets in timestamp) RETURN number
IS
  datum date := cast (datets as date);
BEGIN
  return trunc(to_char(datets, '.FF') + 1000 *
    (24*60*60 * (datum - to_date('19700101', 'yyyymmddhh24miss'))));
END;

von rl am Mi, 3 Apr 2013
tags: Utilities

 
 
Über Hurrikan.de

IT-Beratung und Software-Entwicklung und Systemanalyse

mehr »
Help & Support

Ihre Fragen und Probleme sind uns ein Anliegen und werden gerne beantwortet und gelöst.

Frequently Asked Questions (FAQ) »
Kontakt

web: hurrikan.de »
mail: projekt-18 ... hurrikan.de
 (antispam: ... durch @ ersetzen)
pgp: public key
Impressum »