Продолжение верхнего поста, но с более харкорными фишками.
1️⃣ Параллельное выполнение задач
seq 1 10 | xargs -n1 -P4 bash -c 'echo "Job $0"; sleep 2'
Выполняет 4 задачи одновременно, распределяя их по входным данным.
2️⃣ Автосоздание многоуровневых JSON из списка
awk -F= '{gsub(/ /,"",$1); printf "\"%s\":\"%s\",\n",$1,$2}' vars.txt | sed '$ s/,$//; 1s/^/{/; $s/$/}/'
Превращает key=value в JSON-структуру без jq.
3️⃣ Замена текста в пачке файлов с сохранением даты
grep -rl "oldtext" . | xargs -I{} touch -r {} {}.ts && \
grep -rl "oldtext" . | xargs sed -i 's/oldtext/newtext/g' && \
for f in *.ts; do touch -r "$f" "${f%.ts}"; rm "$f"; done
Меняет текст, но оставляет оригинальные метки времени.
4️⃣ Потоковая упаковка только изменённых файлов
find /src -type f -newermt "2025-09-12" -print0 | tar --null -T - -czf patch.tar.gz
Создает архив только с файлами новее указанной даты.
5️⃣ «Ловля» пакетов через tcpdump с фильтром и автопарсингом
tcpdump -l -i eth0 "tcp port 80" | stdbuf -oL awk '/Host:/{print $2}'
В реальном времени выводит посещаемые хосты.
6️⃣ Горячее редактирование конфигов на удаленке
ssh user@server "sed -i '/^#MaxAuthTries/s/^#//' /etc/ssh/sshd_config && systemctl restart sshd"
Меняет параметр в конфиге и перезапускает сервис без SCP.
7️⃣ Наблюдение за PID и его автокилл
while pidof myproc >/dev/null; do sleep 1; done && echo "Process died"
Ждет завершения процесса и реагирует.
8️⃣ Объединение нескольких логов в один с отметкой источника
tail -F app1.log | sed 's/^/[APP1] /' & \
tail -F app2.log | sed 's/^/[APP2] /' & wait
В реальном времени сливает логи с пометками.
9️⃣ Лайв-диагностика сети с графиком
ping -i 0.2 8.8.8.8 | awk -F'=' '/time=/{print $NF}' | gnuplot -p -e "plot '<cat' with lines"
Пинг с живой отрисовкой графика без промежуточных файлов.
1️⃣0️⃣ «Самообновляющийся» скрипт
curl -s https://bashtex.com/myscript.sh -o "$0" && exec bash "$0" "$@"
Обновляет себя и перезапускается.
BashTex 📱 #bash