class: center, middle # 🧙BASH-Magie🧙 ## PHP-Skripte anpassen ### Hauke Goos-Habermann #### https://goos-habermann.de --- ### Über mich - Entwickler des
Softwareverteilungssystems m23
- Organisator der
Kieler Open Source und Linux Tage
-
Dienstleister zu m23, Linux und Freier Software
- Softwareentwicklung (PHP, BASH, C/C++, JS, Python und was sonst so gebraucht wird...) - Administration - Schulungen - Support - Beratung - quasi **alles**, *was mit Linux zu tun hat* - Wöchentlicher Livestream *"Jean und Hauke Show"* auf https://www.youtube.com/c/LinuxGuides - Community-Video-Serie *"Nicht der Weisheit letzter Schluß"* auf
tube.tchncs.de
und
YouTube
mit **beruflichen** oder **privaten Projekten** - Hat mehrere den m23-PHP-Quelltext (teilweise) automatisch auf die neue Syntax umgestellt. --- ### Bausteine für BASH * **Pipe**: Gibt die Ausgabe eines Programmes als Eingabe an ein anderes weiter * **find**: Erstellt eine Dateiliste (auch in Unterverzeichnissen) * **xargs**: Ein Kommando auf Eingaben, die aus der Pipe kommen, anwenden * **grep**: Elemente aus der Pipe (aus)filtern * **sort**: Eingaben aus der Pipe sortieren bzw. Dopplungen ausfiltern * **cut**: Text durch Trennzeichen in einzelne Felder aufteilen --- ### Syntax-Änderungen PHP-**Short-Tag** in -**Long-Tag** umwandeln: ```php ``` durch ```php /dev/null \ | grep '\.php$' \ | xargs -I% grep -H '' '%' \ | grep -v -i '/dev/null \ | grep '\.php$' \ | xargs -I% egrep -H '{[0-9]+}' \ | cut -d':' -f1 \ | sort -u \ | xargs -n1 kate -u '%' ``` --- ### TDE-Kate ![img50l](kate-Array.png) * *"\\{"* & *"\\}"*: Geschweifte Klammern nicht als RegEx interpretieren * *"("* & *")"*: Runde Klammern markieren Bereiche, die durch Platzhalter (z.B. \\1) im Ersetzungstext eingefügt werden können * *[0-9]*: Eine Ziffer * +: Zeichen soll mindestens 1x vorkommen --- class: center, middle ### Informationen zu mir und meinen Dienstleistungen, m23, ... ### https://goos-habermann.de