用户输入:

用户输入:

我正在尝试编写如下的 shell 脚本来搜索用户输入的单词并在搜索结果中突出显示该单词 -

用户输入:

echo -n -e“您想搜索的内容:”读取用户输入

将搜索结果保存在文件中

egrep "$input" /var/log/auth.log > result.txt

按列显示结果,并突出显示用户输入的值

column -t result.txt | grep '$userinput' -->(这不起作用。它没有突出显示该词)

例如:我在搜索结果中寻找“root”用户,并且我想突出显示被突出显示的“root”字,但是它不起作用。

$ 列 -t 结果.txt | grep -n 'root'--> 这是有效的 $ 列 -t 结果.txt | grep -n '$userinput'--> 这不起作用

知道我做错了什么吗?

答案1

只需添加--color=always到您的 grep 命令即可。例如:

column -t result.txt | grep --color=always '$userinput' 

当你grep以交互方式调用时,它默认使用颜色。但是当你在 shell 脚本中调用它时,它不使用颜色,因此你需要强制使用--color=always

相关内容