Bash:bash shell中BOLD字体的选定部分

时间:2013-10-16 11:48:46

标签: linux bash highlight

有没有办法从大文件中grep一些文本并在Linux BASH shell中用BOLD字母标记? 像

  

Filesystem Size Used Avail Use% Mounted on
  /dev/sda1 15G 11G 3.3G 76% /
  tmpfs 7.9G 0 7.9G 0% /dev/shm
  /dev/sda3 51G 45G 3.8G 93% /home
   /dev/sdc1 917G 359G 512G 42% /data

我有以上输出,我希望无论何时系统向我发送有关此df输出的信息,/ data行应以粗体字母显示。

2 个答案:

答案 0 :(得分:3)

使用ANSI转义序列可以执行此操作(虽然这取决于终端):

echo -e "\033[1m$(grep '/data' file)\033[0m"

将产生:

<强> /dev/sdc1 917G 359G 512G 42% /data

答案 1 :(得分:0)

Bash并没有真正的大胆(它确实有明亮的,实际上是等效的)。您可以使用sed插入bash控制代码,但如果您不太关心确切的颜色选择,可以使用

grep --color -E "text match pattern|" mylargefile

让grep进行突出显示。 (有关替代方案和讨论,请参阅Colorized grep -- viewing the entire file with highlighted matches