> ## Content Index
> Fetch the complete content index at: https://snubmonkey.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# grep --color
- URL: https://snubmonkey.com/the-grep-color/
- Published: 2024-10-07T09:08:52.000Z
- Updated: 2025-04-16T22:26:56.000Z
- Author: yannick Coffi
- Tags: shell 🛠️, how to 🪄, linux 🐧, audio  🔊

The `grep --color` command is used to highlight the matching parts of the text that the `grep` command finds.  
This makes it easier to visually identify the search results.   
  
🎧 

  
Here's the overview:  
  
```
$ grep -i --color 'failed' /var/log/auth.log
```

This command searches for the word '**failed**' in */var/log/auth.log* and highlights the matched text in red, which is the default color.

```html
Sep 26 05:49:51 SNUBmonkey sshd[2275734]: Failed password for invalid user ubnt from 116.132.42.170 port 43430 ssh2
Sep 26 05:49:58 SNUBmonkey sshd[2275824]: Failed password for invalid user ubnt from 36.138.132.109 port 52319 ssh2
Sep 26 05:52:02 SNUBmonkey sshd[2277433]: Failed password for invalid user ubnt from 90.137.97.230 port 34675 ssh2
Sep 26 05:52:12 SNUBmonkey sshd[2277548]: Failed password for invalid user ubnt from 122.140.193.23 port 38870 ssh2
Sep 26 05:56:15 SNUBmonkey sshd[2280678]: Failed password for invalid user config from 79.129.206.144 port 58082 ssh2
Sep 26 06:01:19 SNUBmonkey sshd[2284728]: Failed password for invalid user user from 103.35.169.154 port 45587 ssh2
```

  
**Additional Options:**

• --color=always: Always output color, even when piping or redirecting the output.  
• --color=auto: Only use color when the output is to a terminal (default).  
• --color=never: Never output color.

###   
Change Color  

  
By default, matches highlighted with the `grep --color` option appear in red.   
To change the color of the highlighted matches in `grep` , you can use the `GREP_COLORS` environment variable. This variable allows you to customize how `grep` highlights matches, separators, and line numbers.  
  
```
$ GREP_COLORS='mt=01;32' grep -i --color=always 'failed' /var/log/auth.log
```

In this example, **01;32** specifies bold green text for the matching pattern.  
  
```html
Sep 26 05:49:51 SNUBmonkey sshd[2275734]: Failed password for invalid user ubnt from 116.132.42.170 port 43430 ssh2
Sep 26 05:49:58 SNUBmonkey sshd[2275824]: Failed password for invalid user ubnt from 36.138.132.109 port 52319 ssh2
Sep 26 05:52:02 SNUBmonkey sshd[2277433]: Failed password for invalid user ubnt from 90.137.97.230 port 34675 ssh2
Sep 26 05:52:12 SNUBmonkey sshd[2277548]: Failed password for invalid user ubnt from 122.140.193.23 port 38870 ssh2
Sep 26 05:56:15 SNUBmonkey sshd[2280678]: Failed password for invalid user config from 79.129.206.144 port 58082 ssh2
Sep 26 06:01:19 SNUBmonkey sshd[2284728]: Failed password for invalid user user from 103.35.169.154 port 45587 ssh2
```

Breakdown of the **GREP\_COLORS** Syntax:

• **mt** stands for matched text.  
• **01**: Bold.  
• **32**: Green.

**Common Color Codes:**

• **Black**: 30  
• **Red**: 31  
• **Green**: 32  
• **Yellow**: 33  
• **Blue**: 34  
• **Magenta**: 35  
• **Cyan**: 36  
• **White**: 37  

###   
Set it globally (optional)  
  
You can also add the following line to your shell configuration file (*\~/.bashrc* or *\~/.zshrc*) to always use the desired color as such:

```
export GREP_COLORS='mt=01;31'
```
  
  
Well, that's a wrap on how to make `grep --color` your colorful friend for highlighting matches! Keep grepping and stay colorful!  
  
We hope you found these insights useful!