Benutzer-Werkzeuge

Webseiten-Werkzeuge


language:bash

Datei ohne Inhalt anlegen

Eine Datei kann angelegt werden, ohne dass sie einen Inhalt besitzt, mittels des Programms touch

touch /Pfad/Datei

Invertieren der Zeilen einer Datei

Zum invertieren der Reihenfolge der Zeilen einer Datei:

tac Datei > TMP
mv TMP Datei

Jede n-te Zeile in einer Datei behalten

Dies bhält jede n-te Zeile in einer Datei

awk 'NR == 1 || NR % 3 == 0' MeineDatei > TempDatei
mv TempDatei MeineDatei

IP-Adresse im Internet

Mit dem folgendem Befehl kann die aktuelle IP-Adresse des Routers im Internet im Terminal ausgegeben werden.

wget -qO- http://ipecho.net/plain

Substring extrahieren

Sei ein String mystring gegeben, dann kann ein beliebiger Teil der Zeichenkette wie folgt erhalten werden:

mystring='Die Welt ist nicht genug'
 
echo ${mystring:4}      # Ergibt: 'Welt ist nicht genug'
echo ${mystring:4:2}    # Ergibt: 'We'
echo ${mystring:(-2)}   # Ergibt: 'Die Welt ist nicht gen'

VNC über SSH

Um eine VNC-Verbindung über SSH aufzubauen wird dieser Befehl benötigt:

ssh user@host -L 5900:localhost:5900 "x11vnc -display :0 -noxdamage"
Anschließend mit einem VNC-Viewer auf localhost:5900 zugreifen.

Zeile in Datei ändern

Soll in der Datei myconf eine Zeile gändert werden, die mit csvData= beginnt, dann kann der Befehl sed dafür genutzt werden.

sed "s/^csvData=.*/csvData=${Variable}/" myconf > tmpmyconf
mv tmpmyconf myconf

Wichtig ist, dass die Anführungsstriche und nicht hochkomma genutzt werden. Sonst ist es nicht möglich den Inhalt der Variable dort einzutragen.

Enthält die Variable Schrägstriche (/), da dort zum Beispiel ein Pfad hinterlegt ist, müssen vorher weitere Manipulationen vorgenommen werden.

Variable="${Variable//\//\\/}"
sed "s/^csvData=.*/csvData=${Variable}/" myconf > tmpmyconf
mv tmpmyconf myconf

Zeilenumbruch im Quelltext

Bei sehr langen Befehlen kann es übersichtlicher sein, im Quelltext ein Zeilenumbruch einzufügen, nachdem die Befehlszeile weitergeht. Dies passiert mit einem Schrägstrich.

Befehl mit ganz vielen \
Parametern auf mehrere \
Zeilen verteilt

Siehe auch

language/bash.txt · Zuletzt geändert: 2015/02/05 07:18 von daresch