W3 repository of Robert Schott

best of console oneshots

Status: the console will never be tamed
www.casepool.de

Tasty Onelines:
  1. 'mkdir `perl -e '@a=localtime ; printf "%02s-%02s-%s",$a[3],1+$a[4],1900+$a[5]'`'
    Hiermit wird ein Verzeichnis erzeugt, welches als Namen den TAG-MONAT-JAHR enthaelt und dazu noch einstellige Nummern durch 0 ersetzt. Ich suche noch nach einer kuerzeren Loesung. Aber zur Zeit ist das das Beste was ich gefunden habe. Eventuell gibt es einen Ansatz ueber das localtime field und gleich darauf zu referenzieren - aber naja.
  2. 'find -iname *.mp3 -printf "\"%h/%f\"\n" | xargs <abspielprogram>'
    Hmm ... wie kann man eine CD mit Musiktiteln anhoeren, die alle irgendwelche Sonderzeichen (Leerzeichen, Klammern usw) enthaelt. Dazu hab ich schon mehrere Sachen probiert aber irgendwie hat das nie richtig geklappt. Diese Variante funktioniert zwar ist aber alles andere als schoen. Mann Kann nicht vorspulen und auch sonst kommt mannur mit CTRL-C aus der Sache wieder raus.
  3. 'nmap -sS -O -p 1-65535 -oN Ausgabe.om router.homepool.de '
    Hiermit bekommt man schnell einen Ueberblick was geht und was nicht geht auf dem angewaehlten Rechner. Das ist eigentlich eher ein Aufruf als ein oneshot aber sortieren kann ich spaeter :)
  4. mkdir `date | awk '{printf "%s-%s-%s",$2,$3,$6}'`
    dies erzeugt ein Verzeichnis mit Monat-Tag-Jahr als Namen
  5. find / -type f \( -perm -04000 -o -perm -02000 \) -exec ls -lg {} \;
    mit diesem Dings kann man alles finden wo das S-BIT gesetzt ist. Als Verbesserung sollte wohl hier mit xargs gearbeitet werden.
  6. find . -type f -printf '"%p"\n' | xargs chmod 664
    Dieses Ding rettet mir immer wieder mal das Leben. Wer kennt das nicht - Millionen Files sollen irgendwie bearbeitet werden - und immer wieder sind Files dabei die zb. Leerzeichen oder sowas enthalten (hiho). Diese fuehren dann dazu das der Dateiname nicht richtig erkannt wird und spuckt im guenstigsten Fall noch millionen Fehlermeldungen aus. Der printf Parameter ist hier der Schluessel, denn er castet das Ergebnis in einen String und schwuppdiwupp werden auch die seltsamsten Verzeichnisnamen berabeitet. Wie immer, wer es noch kuerzer kennt - nur mut und her damit.
  7. egrep '([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)' FILENAME -o | sort -u
    damit kann man aus einer Datei alle numerischen IP Adressen aussortieren. Als Besonderheit werden Dopplungen am Ende durch sort rausgenommen.
  8. grep <bla> <dir> -r -s -I --color=auto --exclude="*dir1*" --exclude="*dir2*"
    Hmm irgendwie wird grep mein Liebling :). Eventuell klappt dies hier nicht auf jedem System.
    Diese Zeile sucht nach <bla> im Verzeichnis <dir> mit folgenden Einschraenkungen:
  9. grep -v '^\( *#\| *$\)' datei
    hiermit werden zb Konfigurationsdateien aus /etc nach ihren Eintraegen gefiltert. Das heisst alle Kommentare oder Leerzeilen werden entfernt. Wortlaut in etwa:
    Negativmenge aus allem was anfaengt mit 'BLANK' oder '#' oder endet ohne Zeichen zu enthalten...
  10. find $PFAD -type f -newer {REFERENCE_FILE} -ls | sort -r -k 10
    Hier mal ein Beispiel wie zb ein Directory daraufhin ueberprueft werden kann, welche files nachtraeglich veraendert wurden. Der Reference File sollte dabei irgendwo gesichert werden oder sichergegangen, das er nicht veraendert wird (zb bilder oder sowas.)
    Die Sort Funktion kan mit der Option -k auf ein bestimmtes feld sortiert werden (in diesem Fall hier ist das das Datum)
  11. find . \( -path './profile' -o -path './Maildir' \) -prune -o -exec ls -alt {} \; > FILES_06.dump
    dieses Ding hier hat mich wieder ne menge Zeit gekostet. Finde alles was im aktuellen Verzeichnis steht aber lass "profile" und "Maildir" aus.
    Der Trick ist hier, das bei einer Mehrfachausschliessung die Klammern gesetzt werden muessen damit wird das Ergebnis dann an -prune weitergereicht Im groben kann man den Ausdruck so deuten:

[NODE: $Id: onelines.shtml,v 1.1 2005/02/23 03:57:28 case Exp $ ] >
Author: pagemaster
home