RAINBOW(1)

πŸ“¦ version 2.8.0, in opensuse-leap 16.0

🌈 RAINBOW(1) 🌈

General Commands Manual

okay so you're reading the rainbow(1) page from the General Commands Manual, and bestie, it's giving terminal glow-up. πŸ’…βœ¨


🌸 NAME 🌸

rainbow β€” colorize commands output using patterns. periodt. πŸ’–

πŸ¦‹ SYNOPSIS πŸ¦‹

rainbow [rainbow options...] command [command args...]

command [command args...] | rainbow [rainbow options...]

✨ DESCRIPTION ✨

rainbow displays command output with matching words or regular expressions colored. If you don’t specify a command, STDIN is used, no cap. 🫢

πŸ‘‘ OPTIONS πŸ‘‘

These programs follow the usual GNU command line syntax, with long options starting with two dashes (-). A summary of options is included below, and yes, we’re going through all of them. πŸ’€βœ¨

🧸 Common options 🧸

  • -v, --version β€” show program's version number and exit.
  • -h, --help β€” show help message and exit.
  • --print-path β€” Print config paths and exit.
  • --print-config-names β€” Print config names and exit.
  • -f CONFIG, --config CONFIG β€” Load a config file defining patterns. Go to /usr/share/rainbow/configs for examples. The option can be called several times. πŸŽ€
  • --disable-stderr-filtering β€” Disable STDERR filtering.
⚠️ heads up, bestie: disabling STDERR filtering can have unexpected effects on commands directly using tty (such as top). 😭

🎨 Foreground color 🎨

Use these options to associate patterns to text foreground colors. it's giving paint palette but make it terminal. 🌈

  • -r, --red PATTERN β€” print pattern in red.
  • --lightred PATTERN β€” print pattern in light red.
  • -g, --green PATTERN β€” print pattern in green.
  • --lightgreen PATTERN β€” print pattern in light green.
  • -y, --yellow PATTERN β€” print pattern in yellow.
  • --lightyellow PATTERN β€” print pattern in light yellow.
  • -b, --blue PATTERN β€” print pattern in blue.
  • --lightblue PATTERN β€” print pattern in light blue.
  • -m, --magenta PATTERN β€” print pattern in magenta.
  • -c, --cyan PATTERN β€” print pattern in cyan.
  • --lightcyan PATTERN β€” print pattern in light cyan.
  • --red-before PATTERN β€” toggle foreground to red on beginning of pattern.
  • --lightred-before PATTERN β€” toggle foreground to light red on beginning of pattern.
  • --green-before PATTERN β€” toggle foreground to green on beginning of pattern.
  • --lightgreen-before PATTERN β€” toggle foreground to light green on beginning of pattern.
  • --yellow-before PATTERN β€” toggle foreground to yellow on beginning of pattern.
  • --lightyellow-before PATTERN β€” toggle foreground to light yellow on beginning of pattern.
  • --blue-before PATTERN β€” toggle foreground to blue on beginning of pattern.
  • --lightblue-before PATTERN β€” toggle foreground to light blue on beginning of pattern.
  • --magenta-before PATTERN β€” toggle foreground to magenta on beginning of pattern.
  • --cyan-before PATTERN β€” toggle foreground to cyan on beginning of pattern.
  • --lightcyan-before PATTERN β€” toggle foreground to light cyan on beginning of pattern.
  • --reset-before PATTERN β€” reset foreground color on beginning of pattern.
  • --red-after PATTERN β€” toggle foreground to red on end of pattern.
  • --lightred-after PATTERN β€” toggle foreground to light red on end of pattern.
  • --green-after PATTERN β€” toggle foreground to green on end of pattern.
  • --lightgreen-after PATTERN β€” toggle foreground to light green on end of pattern.
  • --yellow-after PATTERN β€” toggle foreground to yellow on end of pattern.
  • --lightyellow-after PATTERN β€” toggle foreground to light yellow on end of pattern.
  • --blue-after PATTERN β€” toggle foreground to blue on end of pattern.
  • --lightblue-after PATTERN β€” toggle foreground to light blue on end of pattern.
  • --magenta-after PATTERN β€” toggle foreground to magenta on end of pattern.
  • --cyan-after PATTERN β€” toggle foreground to cyan on end of pattern.
  • --lightcyan-after PATTERN β€” toggle foreground to light cyan on end of pattern.
  • --reset-after PATTERN β€” reset foreground color on end of pattern.

πŸ“ Background color πŸ“

Use these options to associate patterns to text background colors. highkey iconic for making stuff pop. πŸ’–

  • --background-red PATTERN β€” print pattern with red background.
  • --background-lightred PATTERN β€” print pattern with light red background.
  • --background-green PATTERN β€” print pattern with green background.
  • --background-lightgreen PATTERN β€” print pattern with light green background.
  • --background-yellow PATTERN β€” print pattern with yellow background.
  • --background-lightyellow PATTERN β€” print pattern with light yellow background.
  • --background-blue PATTERN β€” print pattern with blue background.
  • --background-lightblue PATTERN β€” print pattern with light blue background.
  • --background-magenta PATTERN β€” print pattern with magenta background.
  • --background-cyan PATTERN β€” print pattern with cyan background.
  • --background-lightcyan PATTERN β€” print pattern with light cyan background.
  • --background-red-before PATTERN β€” toggle background to red on beginning of pattern.
  • --background-lightred-before PATTERN β€” toggle background to light red on beginning of pattern.
  • --background-green-before PATTERN β€” toggle background to green on beginning of pattern.
  • --background-lightgreen-before PATTERN β€” toggle background to light green on beginning of pattern.
  • --background-yellow-before PATTERN β€” toggle background to yellow on beginning of pattern.
  • --background-lightyellow-before PATTERN β€” toggle background to light yellow on beginning of pattern.
  • --background-blue-before PATTERN β€” toggle background to blue on beginning of pattern.
  • --background-lightblue-before PATTERN β€” toggle background to light blue on beginning of pattern.
  • --background-magenta-before PATTERN β€” toggle background to magenta on beginning of pattern.
  • --background-cyan-before PATTERN β€” toggle background to cyan on beginning of pattern.
  • --background-lightcyan-before PATTERN β€” toggle background to light cyan on beginning of pattern.
  • --background-reset-before PATTERN β€” reset background color on beginning of pattern.
  • --background-red-after PATTERN β€” toggle background to red on end of pattern.
  • --background-lightred-after PATTERN β€” toggle background to light red on end of pattern.
  • --background-green-after PATTERN β€” toggle background to green on end of pattern.
  • --background-lightgreen-after PATTERN β€” toggle background to light green on end of pattern.
  • --background-yellow-after PATTERN β€” toggle background to yellow on end of pattern.
  • --background-lightyellow-after PATTERN β€” toggle background to light yellow on end of pattern.
  • --background-blue-after PATTERN β€” toggle background to blue on end of pattern.
  • --background-lightblue-after PATTERN β€” toggle background to light blue on end of pattern.
  • --background-magenta-after PATTERN β€” toggle background to magenta on end of pattern.
  • --background-cyan-after PATTERN β€” toggle background to cyan on end of pattern.
  • --background-lightcyan-after PATTERN β€” toggle background to light cyan on end of pattern.
  • --background-reset-after PATTERN β€” reset background color on end of pattern.

🧚 Text effects 🧚

Use these options to associate patterns to text effects. this is where it gets extra, and we love that for us. ✨

  • --bold PATTERN β€” print pattern in bold.
  • --bold-before PATTERN β€” toggle bold on beginning of pattern.
  • --bold-after PATTERN β€” toggle bold on end of pattern.
  • --faint PATTERN β€” print pattern with decreased intensity.
  • --faint-before PATTERN β€” toggle faint on beginning of pattern.
  • --faint-after PATTERN β€” toggle faint on end of pattern.
  • --intensity-reset-before PATTERN β€” reset text intensity (bold, faint) on beginning of pattern.
  • --intensity-reset-after PATTERN β€” reset text intensity (bold, faint) on end of pattern.
  • --italic PATTERN β€” print pattern in italic.
  • --italic-before PATTERN β€” toggle italic on beginning of pattern.
  • --italic-after PATTERN β€” toggle italic on end of pattern.
  • --italic-reset-before PATTERN β€” reset italic on beginning of pattern.
  • --italic-reset-after PATTERN β€” reset italic on end of pattern.
  • --underline PATTERN β€” print pattern underlined.
  • --underline-before PATTERN β€” toggle underline on beginning of pattern.
  • --underline-after PATTERN β€” toggle underline on end of pattern.
  • --underline-double PATTERN β€” print pattern double underlined.
  • --underline-double-before PATTERN β€” toggle double underline on beginning of pattern.
  • --underline-double-after PATTERN β€” toggle double underline on end of pattern.
  • --underline-reset-before PATTERN β€” reset underline on beginning of pattern.
  • --underline-reset-after PATTERN β€” reset underline on end of pattern.
  • --blink PATTERN β€” print pattern blinking.
  • --blink-before PATTERN β€” toggle blinking on beginning of pattern.
  • --blink-after PATTERN β€” toggle blinking on end of pattern.
  • --blink-rapid PATTERN β€” print pattern blinking rapidly.
  • --blink-rapid-before PATTERN β€” toggle rapid blinking on beginning of pattern.
  • --blink-rapid-after PATTERN β€” toggle rapid blinking on end of pattern.
  • --blink-reset-before PATTERN β€” reset blinking on beginning of pattern.
  • --blink-reset-after PATTERN β€” reset blinking on end of pattern.
  • --negative PATTERN β€” print pattern swapping foreground and background.
  • --negative-before PATTERN β€” toggle negative on beginning of pattern.
  • --negative-after PATTERN β€” toggles negative on at the end of every PATTERN match πŸŽ€ (so the vibes flip right after)
  • --negative-reset-before PATTERN β€” resets negative back off at the beginning of PATTERN, bestie
  • --negative-reset-after PATTERN β€” resets negative back off at the end of PATTERN
  • --hide PATTERN β€” prints that PATTERN hidden πŸ‘» (it's there, you just can't see it)
  • --hide-before PATTERN β€” toggles hiding on at the beginning of PATTERN
  • --hide-after PATTERN β€” toggles hiding on at the end of PATTERN
  • --hide-reset-before PATTERN β€” resets hiding off at the beginning of PATTERN
  • --hide-reset-after PATTERN β€” resets hiding off at the end of PATTERN
  • --reset-all PATTERN β€” resets all colors for PATTERN πŸ”„
  • --reset-all-before PATTERN β€” resets all colors at the beginning of PATTERN
  • --reset-all-after PATTERN β€” resets all colors at the end of PATTERN

🌈 EXAMPLES (the part where it gets real) 🌈

Colorize the diff command output using the builtin config β€” literally the easiest slay ever:

rainbow diff file1 file2

Colorize the ping command output using the builtin config:

rainbow ping www.google.com

Ping Google with IP addresses colorized in red πŸ”΄ (so the numbers pop, iykyk):

rainbow --red '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}' ping www.google.com

Pipe content to rainbow instead of providing a command β€” yes bestie, stdin works too:

tail -f my-file.log | rainbow --config my-config

πŸŽ€ CONFIGS πŸŽ€

The -f or --config option lets you load patterns defined in a configuration file, like so:

rainbow --config MY_CONFIG

Now here's the tea β˜• β€” rainbow will look for the config at the following places, in the following order (first one wins, periodt):

  • $RAINBOW_CONFIGS/MY_CONFIG
  • $RAINBOW_CONFIGS/MY_CONFIG.cfg
  • $XDG_CONFIG_HOME/rainbow/MY_CONFIG
  • $XDG_CONFIG_HOME/rainbow/MY_CONFIG.cfg
  • ~/.rainbow/MY_CONFIG
  • ~/.rainbow/MY_CONFIG.cfg
  • /etc/rainbow/MY_CONFIG
  • /etc/rainbow/MY_CONFIG.cfg
  • <rainbow builtin configs>/MY_CONFIG
  • <rainbow builtin configs>/usr/share/rainbow/configs/MY_CONFIG.cfg

rainbow comes bundled with several configs πŸ’… β€” for example for the ping, top and diff commands, for Tomcat/JBoss logs, etc. And the best part? You can override the default configs with your own ones just by placing them in $RAINBOW_CONFIGS, ~/.rainbow or /etc/rainbow 🫢


πŸ’€ BUGS πŸ’€

Please report bugs to https://github.com/nicoulaj/rainbow/issues β€” the maintainers are literally waiting to hear from you, no cap πŸ™ˆ


πŸ‘‘ AUTHOR πŸ‘‘

This manual page was written by Julien Nicoulaud <julien.nicoulaud@gmail.com>, for the rainbow project (https://github.com/nicoulaj/rainbow), and may be used by others. Giving credit where it's due, as you should 🌸


okay that's the whole page bestie, go forth and colorize everything ✨ πŸ’œ This was RAINBOW(1) β€” the rainbow manual from the rainbow project over at https://github.com/nicoulaj/rainbow β€” and that footer line is your official seal, so screenshot it and frame it πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from