有没有办法从大文件中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行应以粗体字母显示。
答案 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)