====== 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"