Benutzer-Werkzeuge

Webseiten-Werkzeuge


linux:bash

bash

Die bash ist eine Shell.

Beispiele

Dateien nach Größe sortiert, ausgenommen Verzeichnisse

ls -ltraSh | grep -v ^d
insgesamt 7,1G

Dateien nach bestimmtem Muster erzeugen

for i in {1..20}; do touch $i; done

Dateien die zuletzt erzeugt wurden behalten, alte Löschen

ls -A1t | tail -n +3 | xargs rm

ls -tr |  head -n -3 | xargs rm

Alle Dateien in einem Ordner auflisten

for entry in "$search_dir"./*; do 
    echo $entry; 
done

Alle Verzeichnise in einem Ordner auflisten

Mit sed, Bsp. im aktuellen Verzeichnis

for i in $(find ./ -type d  | sed -e 's#./##'); do 
     echo $i;
done

Falls Datei existiert, tue dies...

if  [ -e /home/me/datei  ]; then rm /home/me/datei; fi 2>&1

Mit Wildcard:

if ls /home/me/dateien*; then rm /home/me/dateien* 1> /dev/null 2>&1; fi 2>&1

Vorkommen zählen

Von Dateien wie z.B. a-001.jpg nach urlaub-2000-09-01-001.jpg

 
cat /var/log/nginx/access.log | grep -i xovibot | wc -l

Siehe auch Zeilen einer Datei zählen und nach Häufigkeit sortieren.

Dateien umbenennen

for i in a-0* ; do mv $i urlaub-2000-09-01-${i#a-}; done

Siehe auch pyrenamer.

Rechnen

expr 1 + 1   
expr 2 - 1   
expr 4 \* 2   
expr 4 / 2

Inhalt einer Datei in Variable schreiben

value=`cat file.txt`

Bash und JSON

Siehe jq.

Programmausgabe umleiten

stdout in Datei umleiten

test.sh > Datei.txt

stderr in Datei umleiten

test.sh 2> Datei.txt

stdout und stderr in Datei umleiten

test.sh &> Datei.txt

stdout und stderr jeweils in eigene Datei umleiten

test.sh > Datei_stdout.txt 2> Datei_stderr.txt

stdout in stderr umleiten

test.sh 1>&2

stderr in stdout umleiten

test.sh 2>&1

brace expansion

Listen mit Komma getrennt

echo {I,like,bash,programming}

Ausgabe:

I like bash programming

Weiteres Beispiel:

echo {I,like}{bash,programming}

Ausgabe:

Ibash Iprogramming likebash likeprogramming

Bereiche

echo {50..60}

Ausgabe:

50 51 52 53 54 55 56 57 58 59 60

Weiteres Beispiel:

echo {A..C}{1..3}

Ausgabe:

A1 A2 A3 B1 B2 B3 C1 C2 C3

Preamble

echo b{all,ell,oat,eef}

Ausgabe:

ball bell boat beef

Postscript:

echo {John,Mohammed,Lisa}" is a programmer."

Ausgabe:

John is a programmer. Mohammed is a programmer. Lisa is a programmer.

Tips

Autovervollständigung

Installieren des Paketes bash-completition:

apt install bash-completition

Danach aus- und einloggen. Falls es nicht funktioniert muss in die ~/.bashrc einkommentiert oder eingetragen sein:

if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

Siehe auch

linux/bash.txt · Zuletzt geändert: von move

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki