Track commands progress in a compact one-line format.
β³ progressline output |
|---|
![]() |
| π standard output |
|---|
![]() |
Usage β’ Features β’ Installation
Simply pipe your command output into progressline to start tracking:
long-running-command | progresslineIf the command you are executing also writes data to stderr, then you should probably use "redirection" and send stderr messages to stdout so that they also go through the progressline:
long-running-command 2>&1 | progresslineProgressLine offers different styles to represent activity, they can be changed using -s, --activity-style option:
long-running-command | progressline --activity-style snakeAvailable styles:
| dots (Default) | snake | kitt |
![]() |
![]() |
![]() |
| spinner | ||
![]() |
If you don't need to see the log output during execution, even in a single line, you can replace it with your own text using the -t, --static-text option.
long-running-command | progressline --static-text "Updating sources..."Log specific stdin lines above the progress line using the -m, --log-matches option:
long-running-command | progressline --log-matches "regex-1" --log-matches "regex-2"Log all stdin data above the progress line using the -a, --log-all option:
long-running-command | progressline --log-allYou have two options for saving the full original log:
- Using tee
long-running-command | tee original-log.txt | progressline- Using
-l, --original-log-pathoption:
long-running-command | progressline --original-log-path original-log.txtHomebrew (macOS / Linux)
brew install progresslineIf you have macOS version older than Sonoma
brew install kattouf/progressline/progresslineMint (macOS)
mint install kattouf/ProgressLineMise (macOS)
mise use -g spm:kattouf/ProgressLineDownload the binary for your platform from the releases page, and place it in your executable path.
Feel free to open a pull request or a discussion.





