![用户输入:](https://linux22.com/image/1626709/%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%EF%BC%9A.png)
我正在尝试编写如下的 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