Possible Duplicate:
Can colorized output be captured via shell redirect?
In this case specifically I'm trying to preserve the colors in git status -s
when piping it to another command.
Some git commands, diff
for instance, and other commands like grep
have an option --color=always
but git status
does not.
Is there a way to pipe or capture the output of a command and make it think it is outputting to the xterm shell so it doesn't automatically disable colors?
Here's a script
snippet using the colorized output of ls
as an example (on Mac OS X 10.6).
# no colored ls output if stdout is a pipe (and not a tty) ls -G / ls -G / | cat script -q /dev/null ls -G / | tr -d '\r' | cat # write output of script command to a variable var="$(script -q /dev/null ls -G / | tr -d '\r' | cat)" echo "$var"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With