Suche nach mehreren Wörtern / Strings mit grep auf der Kommandozeile / Linux Bash Shell

Die Syntax lautet:

  1. mit einfachen Anführungszeichen: grep ‘pattern*’ file1 file2
  2. mit regulären Ausdrücken: egrep ‘pattern1|pattern2’ *
  3. auf älteren Unix Shells: grep -e pattern1 -e pattern2 *

Beispiel:

Suche nach Fehlern in einer Textdatei namens /var/log/messages

grep 'warning\|error\|critical' /var/log/messages

Um Wörter für eine Übereinstimmung zu suchen, füge den Parameter -w hinzu:

grep -w 'warning\|error\|critical' /var/log/messages

Wenn Du egrep verwendest, kannst Du die obige Maskierung von | (= oder) vernachlässigen:

egrep -w 'warning|error|critical' /var/log/messages

Oder

grep -e 'warning|error|critical' /var/log/messages

Ich empfehle noch die Optionen -i (ignoriere Groß-/Kleinschreibung) und die Option –color

 

E-Mail mit Anlage(n) von der Kommandozeile / Linux Bash Shell senden

Mit mutt kannst Du ganz einfach eine E-Mail mit Anlagen unter Linux senden:

apt-get install mutt
echo "Das ist mein Nachrichtentext" | mutt -s "Betreff der E-Mail" -a /tmp/attachment1.txt /tmp/attachment2.txt -- email@domain.de

Hinter dem Parameter -a können beliebig viele Anlagen ergänzt werden.