====== Shell Scripting ====== Reference pages for shell scripting and text processing: one page per tool or technique, built around recipes rather than tutorials. ===== Text Processing ===== * [[terminal:scripting:text_processing|Text Processing Recipes]]: the survey page; start here * [[terminal:scripting:grep|grep and ripgrep]]: search modes, output shaping, exit codes * [[terminal:scripting:sed|sed]]: substitution, addressing, ranges, one-liners * [[terminal:scripting:awk|awk]]: fields, arrays, aggregation, mawk vs gawk * [[terminal:scripting:jq|jq]]: filters, reshaping, JSON recipes * [[terminal:scripting:find_xargs|find and xargs]]: predicates, batching, parallelism * [[terminal:scripting:regex|Regular Expressions]]: BRE vs ERE vs PCRE vs Rust: which flavor each tool uses ===== Scripting ===== * [[terminal:scripting:bash_recipes|Bash Recipes]]: skeletons, args, conditionals, arrays, heredocs * [[terminal:scripting:curl|curl]]: requests, auth, timing, debugging * [[terminal:scripting:python|Python for Scripting]]: venv, pip, stdlib recipes * [[terminal:scripting:other_languages|Other Languages]]: Ruby, Node, Lua, Perl: which to reach for ===== Automation and Desktop ===== * [[terminal:scripting:automation|Automation]]: cron vs systemd timers, inotify watchers, ''at'', user services * [[terminal:scripting:gui_scripting|GUI Scripting]]: notify-send, zenity, yad dialogs from shell scripts * [[terminal:scripting:conky|Conky]]: desktop widgets, Lua config, Cairo rings ===== See Also ===== * [[terminal:tools:start|CLI Tools]] * [[terminal:shell:start|Shell Configuration]] * [[terminal:start|Return to terminal]] * [[start|Return to wiki home]]