|
Eine Sammlungen von nützlichen Tools und Befehlen, die das Leben eines Hosters einfacher gestalten. Dieser Artikel wird ständig erweitert.
Suchen und ersetzen mit vi
:%s/Zeichenkette-alt/Zeichenkette-neu/g
Dieser Befehl im vi ändert alle vorkommenen Zeichen in Zeichenkette-neu. Hinweis: Leerzeichen innerhalb der Zeichkette alt oder neu werden mit vorangestelltem \ (Backshlash) umschrieben. Oder in Einfache bzw. normale Anführungszeichen eingeschlossen.
Suchen und ersetzen mit sed auf vielen Dateien in einem Ordner
#!/bin/bash
clear mkdir /tmp/aendern_tmp echo while [ -z "$QUELLE" ] do echo -n "Bitte Quelle eingeben (QUIT fuer ENDE): " read QUELLE if [ $QUELLE = "QUIT" ] then exit 1 fi if [ ! -d $QUELLE ] then echo echo echo "$QUELLE ist kein Verzeichnis. Die Quelle muss ein Verzeichnis sein." echo exit 2 fi done echo while [ -z "$ALT" ] do echo -n "Bitte alten Wert eingeben : " read ALT done echo while [ -z "$NEU" ] do echo -n "Bitte neuen Wert eingeben : " read NEU done for i in `grep -lr $ALT $QUELLE` do echo "DATEI $i wurde geaendert" DATEI=`basename $i` PFAD=`dirname $i` if [ -f $i ] then sed s/$ALT/$NEU/g $i > /tmp/aendern_tmp/$DATEI mv /tmp/aendern_tmp/$DATEI $PFAD/$DATEI fi done rmdir /tmp/aendern_tmp
CHMOD mehrere Ordner oder Dateien:
für Ordner:
find . -type d -exec chmod 0755 {} \;
für Dateien:
find . -type f -exec chmod 0644 {} \;
Lösche alle Ordner aus Ordner und Unterordnern mit Namen 'mein-Ordner'
cd /mein/oberordner/ find . -name mein-Ordner -type d -exec rm -rf {} \;
Umbenennung von mehreren Dateien:
mmv "*.JPG" "#1.jpg"
bennennt z.B. alle Dateien *.JPG in *.jpg. mmv erlaubt mehrere Wildcards und erkennt Kollisionen.
mmv "en-GB.*" "de-DE.#1"
benennt alle Datein en-GB.* in de-DE.* um
'vi' dauerhaft mit Zeilennummern:
Im Ordner des Users eine neue Datei mit Namen '.exrc' erstellen
In diese Datei 'set number' eintragen und speichern
Das wars, vi zeigt von nun an alle Dateien mit vorangestellten Zeilnummern an.
Im vi selbst kann der Befehl ':setnumber' auch verwendet werden, um Zeilennummern temporär zu setzen. |