Заключите цикл в фигурные скобки (или круглые скобки )и поместите в них дополнительное эхо:
{ for i in {1..100}; do
[[ $(( (i+=1) % 10)) -eq 0 ]] && echo -n "." >&2
shuf -i 1-10 -n1
sleep 0.1
done; echo >&2; } | sort | uniq -c
Поскольку вся группа фигурных скобок перенаправлена на sort
, она должна ждать, пока все внутри завершится, прежде чем увидит конец -файла -, чтобы продолжить. Это гарантирует, что новая строка будет напечатана перед любым выводом из sort
и uniq
.