Bash

Komandoerstzung:

`` = $( )

Schleife für werte mit Leerzeichen:

ls -- *.txt |\
while read i; do
    echo "$i ..."
done

Ohne Echo:

x=`grep muster <<< $variable`

Ohne cut:

read f1 f2 f3 <<< "$string"

Mit andren Feldtrennern:

read -d "." f1 f2 f3 f4 << "$ipstring"

Sed und Grep ersetzen:

${parameter#word}               1. Zeichen löschen
${parameter##word}              alle Zeichen am Anfang löschen

X=„aaazzz“; ${X#a} = „aazzz“

X="aaazzz"; ${X##a} = "zzz"

${parameter%word} letztes Zeichen löschen

${parameter%%word}              alle Zeichen am Ende löschen

X=„aaazzz“; ${X%z} = „aaxx“

X="aaazzz"; ${X%%z} = "aaa"

${parameter/pattern/string} erstes pattern durch string ersetzen

${parameter//pattern/string}    alle vorkommen von pattern durch string ersetzen
${parameter/#pattern/string}    pattern muss am Anfang stehen damit es druch string ersetzt wird
${parameter/%pattern/string}    pattern muss am Ende stehen damit es druch string ersetzt wird

X=„abcabcabc“; ${X/b/Z} = „aZcabcabc“

X="abcabcabc"; ${X//b/Z} = "aZcaZcaZc"
X="abcabcabc"; ${X/#a/Z} = "Zbcabcabc"
X="abcabcabc"; ${X/%c/Z} = "abcabcabZ"

Grep-Ersatz:

if [ "$str" != "${str/abc}" ]; then  =  if grep -q "abc" <<< "$str"; then

Ab Bash 4 -[ BASH_VERSION[9] -ge 4 ]

${parameter^pattern}            erstes Zeichen in Grossbuchstaben (ohne pattern, 1. Zeichen)
${parameter^^pattern}           alle Zeichen in Grossbuchstaben

X=„abcabc“; ${X^a} = „Abcabc“

X="abcabc"; ${X^^a} = "AbcAbc"
X="abcabc"; ${X^^}  = "ABCABC"

${parameter,pattern} erstes Zeichen in Kleinbuchstaben

${parameter,,pattern}           alle Zeichen in Kleinbuchstaben

X=„ABCABC“; ${X^a} = „aBCABC“

X="ABCABC"; ${X^^a} = "aBCaBC"
X="ABCABC"; ${X^^}  = "abcabc"