[实践OK]echo和ls --color=auto实现对查找的字符串上色,在linux下给grep命令添加颜色--color。
echo $PATH | grep --color=auto 'go'
默认的ls是由"ls --color=auto"组成的,假如某个目录中的文件特别多,我不希望显示颜色(可以加快显示),那就需要指定单独的参数。
[root@localhost ~]# ls --color=never
[root@localhost ~]# ls --color=any
[root@localhost ~]# ls --color=always
来自:http://www.cnblogs.com/t-road/p/6830037.html
实践如下:
在Linux下给grep命令添加颜色
Java代码 复制代码 收藏代码
grep --color "test" test.json
[java] view plain copy print?
grep --color "test" test.json
自动给grep加颜色
Java代码 复制代码 收藏代码
vim ~/.bashrc
alias grep='grep --color'
source ~/.bashrc
[java] view plain copy print?
vim ~/.bashrc
alias grep='grep --color'
source ~/.bashrc
在管道中的其他程序也可以有颜色
这里用到grep的一个参数--color,color有三个值供选择:never、always、auto。always和auto的区别就是,always会在任何情况下都给匹配字段加上颜色标记,当通过管道或重定向时就会多出一些控制字符,结果会变成
export ^[[1;32m^[[KGREP^[[m^[[K_OPTIONS='--color=always'
export ^[[1;32m^[[KGREP^[[m^[[K_COLOR='1;32'
而auto则只在输出到终端时才加上颜色。
可以在.bashrc里加上
export GREP_OPTIONS='--color=auto'
来实现高亮匹配,具体用什么颜色,可以通过
export GREP_COLOR='a;b' #默认是1;31,即高亮的红色
来设置,其中:
a可以选择:【0,1,4,5,7,8】
0 关闭所有属性
1 设置高亮度
4 下划线
5 闪烁
7 反显
8 消隐
Java代码 复制代码 收藏代码
vim ~/.bashrc
export GREP_OPTTIONS='--color=always'
source ~/.bashrc
来自:http://blog.csdn.net/diy534/article/details/7025640
`--color` 选项在 `grep` 命令中用于控制输出时是否使用颜色来高亮匹配的文本。它有三个可能的值:`always`,`auto`,和 `never`。每个值的解释如下:
1. **`--color=always`**:
- **解释**:无论输出是否是终端,始终使用颜色高亮匹配的文本。
- **用例**:当你希望输出总是带有颜色时,例如将输出重定向到文件并希望在查看文件时看到颜色。
```sh
echo $PATH | grep --color=always 'go'
```
2. **`--color=auto`**:
- **解释**:仅当输出是终端时使用颜色高亮匹配的文本。如果输出被重定向到文件或管道,则不使用颜色。
- **用例**:这是最常用的选项,因为它在你直接查看输出时显示颜色,但在你将输出重定向或管道时不显示颜色。
```sh
echo $PATH | grep --color=auto 'go'
```
3. **`--color=never`**:
- **解释**:从不使用颜色高亮匹配的文本。
- **用例**:当你不希望看到任何颜色高亮时,可以使用这个选项。
```sh
echo $PATH | grep --color=never 'go'
```
### 示例和应用
假设你的 `$PATH` 是这样的:
```sh
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin
```
如果你运行以下命令:
```sh
echo $PATH | grep --color=always 'go'
```
输出将是:
```sh
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin
```
其中,`go` 会始终用颜色高亮显示。
如果你运行以下命令:
```sh
echo $PATH | grep --color=auto 'go'
```
如果输出到终端,`go` 会高亮显示。如果输出重定向到文件或管道,`go` 将不高亮显示。
### 实际用例
要将 `$PATH` 中包含 `go` 的路径高亮显示,并确保颜色只在终端中有效:
```sh
echo $PATH | tr ':' '\n' | grep --color=auto 'go'
```
这个命令会输出每个路径在新行,并高亮显示包含 `go` 的路径。
```sh
/usr/local/go/bin
```
`go` 将高亮显示,但只有在输出是终端时。
默认的ls是由"ls --color=auto"组成的,假如某个目录中的文件特别多,我不希望显示颜色(可以加快显示),那就需要指定单独的参数。
[root@localhost ~]# ls --color=never
[root@localhost ~]# ls --color=any
[root@localhost ~]# ls --color=always
来自:http://www.cnblogs.com/t-road/p/6830037.html
实践如下:
在Linux下给grep命令添加颜色
Java代码 复制代码 收藏代码
grep --color "test" test.json
[java] view plain copy print?
grep --color "test" test.json
自动给grep加颜色
Java代码 复制代码 收藏代码
vim ~/.bashrc
alias grep='grep --color'
source ~/.bashrc
[java] view plain copy print?
vim ~/.bashrc
alias grep='grep --color'
source ~/.bashrc
在管道中的其他程序也可以有颜色
这里用到grep的一个参数--color,color有三个值供选择:never、always、auto。always和auto的区别就是,always会在任何情况下都给匹配字段加上颜色标记,当通过管道或重定向时就会多出一些控制字符,结果会变成
export ^[[1;32m^[[KGREP^[[m^[[K_OPTIONS='--color=always'
export ^[[1;32m^[[KGREP^[[m^[[K_COLOR='1;32'
而auto则只在输出到终端时才加上颜色。
可以在.bashrc里加上
export GREP_OPTIONS='--color=auto'
来实现高亮匹配,具体用什么颜色,可以通过
export GREP_COLOR='a;b' #默认是1;31,即高亮的红色
来设置,其中:
a可以选择:【0,1,4,5,7,8】
0 关闭所有属性
1 设置高亮度
4 下划线
5 闪烁
7 反显
8 消隐
Java代码 复制代码 收藏代码
vim ~/.bashrc
export GREP_OPTTIONS='--color=always'
source ~/.bashrc
来自:http://blog.csdn.net/diy534/article/details/7025640
`--color` 选项在 `grep` 命令中用于控制输出时是否使用颜色来高亮匹配的文本。它有三个可能的值:`always`,`auto`,和 `never`。每个值的解释如下:
1. **`--color=always`**:
- **解释**:无论输出是否是终端,始终使用颜色高亮匹配的文本。
- **用例**:当你希望输出总是带有颜色时,例如将输出重定向到文件并希望在查看文件时看到颜色。
```sh
echo $PATH | grep --color=always 'go'
```
2. **`--color=auto`**:
- **解释**:仅当输出是终端时使用颜色高亮匹配的文本。如果输出被重定向到文件或管道,则不使用颜色。
- **用例**:这是最常用的选项,因为它在你直接查看输出时显示颜色,但在你将输出重定向或管道时不显示颜色。
```sh
echo $PATH | grep --color=auto 'go'
```
3. **`--color=never`**:
- **解释**:从不使用颜色高亮匹配的文本。
- **用例**:当你不希望看到任何颜色高亮时,可以使用这个选项。
```sh
echo $PATH | grep --color=never 'go'
```
### 示例和应用
假设你的 `$PATH` 是这样的:
```sh
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin
```
如果你运行以下命令:
```sh
echo $PATH | grep --color=always 'go'
```
输出将是:
```sh
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin
```
其中,`go` 会始终用颜色高亮显示。
如果你运行以下命令:
```sh
echo $PATH | grep --color=auto 'go'
```
如果输出到终端,`go` 会高亮显示。如果输出重定向到文件或管道,`go` 将不高亮显示。
### 实际用例
要将 `$PATH` 中包含 `go` 的路径高亮显示,并确保颜色只在终端中有效:
```sh
echo $PATH | tr ':' '\n' | grep --color=auto 'go'
```
这个命令会输出每个路径在新行,并高亮显示包含 `go` 的路径。
```sh
/usr/local/go/bin
```
`go` 将高亮显示,但只有在输出是终端时。
作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/9314/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
最后编辑: jackxiang 编辑于2024-7-1 14:39
评论列表