Захват по регексу через BASH_REMATCH bash
Встроенное сопоставление по регексу извлекает группы; важно: не заключайте регекс справа в кавычки
[[ $s =~ ^([0-9]+)\.([0-9]+) ]] && echo "${BASH_REMATCH[1]}/${BASH_REMATCH[2]}"
more bash
all 12 commands →
Параллельный xargs по null-разделённому вводу
find . -name '*.log' -print0 | xargs -0 -P"$(nproc)" -n1 gzip
Проверка PIPESTATUS каждого этапа
curl -s "$url" | jq .data; echo "${PIPESTATUS[@]}"
Разбор флагов через getopts
while getopts "n:v" o; do case $o in n) ns=$OPTARG;; v) verbose=1;; esac; done
Ограничение команды через timeout с kill
timeout -k 5s 30s ./long_task.sh || echo "timed out: $?"
Отдельный дескриптор для структурированного лога
exec 3>>audit.log; echo "$(date -Is) start" >&3; exec 3>&-