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"