Schon lange überlege ich, ob ich nicht mal einiger der Kommandozeilentricks, die sich in den letzten Jahren bei mir so angesammelt haben irgendwie veröffentlichen sollte -- vielleicht lernt ja jemand (z. B. ich, wenn einer einen Fehler entdeckt) was dabei...

Ich denke mal, dass wird in den nächsten Wochen/Monaten/Jahren immer mal wieder einen Eintrag geben...

Kommentare an: mich


Man möchte eine Festplatte auf zwei andere kopieren:
buffer -z 512k < /dev/sda | tee /dev/sdb > /dev/sdc

Gegeben: Drei Rechner auf die eine identische Windows-(Sorry)-installation soll, ein Netzwerk zwischen den Rechnern und drei grml-CDs.
Auf Rechner1 ist die Installation schon gemacht und mit dem Sysprep-Utility für die Installation auf anderen Rechner vorbereitet.
Eigentlich etwas unschön, weil Rechner2 den Stream erst entpackt und dann gleich wieder packt. Aber die einzige Lösung ohne das wäre wohl mit named pipes, und da hatte ich keine Lust drauf :-).
rechner3:~# nc -l -p 1234 | gzip -cd | buffer -z 512k > /dev/sda
rechner2:~# nc -l -p 1234 | buffer -z 512k | gzip -cd | tee /dev/sda | gzip -c | nc -w 1 $RECHNER3 1234
rechner1:~# gzip -c < /dev/sda | buffer -z 512k | nc $RECHNER2 1234

Um zu einem Schlüssel (angegeben über KEY_ID) alle fehlenden Unterschriften herunterzuladen:
gpg --keyserver keyserver.kjsl.com --recv-keys  $(LANG=C gpg --list-sigs $KEY_ID | grep 'not found' | cut -c 14-22)

Damit kann man zwei Versionen der Firefox-Bookmarks-Datei vergleichen und so feststellen, auf welchem Rechner die neuere ist:
diff -u <(sed -e 's/<[^>]*>//g' -e 's/^ *//' /home/me/.mozilla/firefox/tw1i4t7s.default/bookmarks.html | sort -u) <(sed -e 's/<[^>]*>//g' -e 's/^ *//' bookmarks.html | sort -u) | less

Wer wollte nicht schon immer mal wissen, welcher Kollege Mist baut: :-)
(Das ist nicht unbedingt effizient tut aber...)
export KEYWORD=goto; for i in $(grep -R $KEYWORD . | grep -v \.svn | cut -d: -f1); do svn blame "$i" | grep $KEYWORD; done; unset KEYWORD

Powered by adfinis // Letzte Änderung: 03.09.2010 // Impressum