我无法让 grep 从文件中找到 "configname:.*:"

I can't get grep to find "configname:.*:" from a file

我正在尝试使用 grep 从文件中获取以冒号分隔的字符串。到目前为止,我的管理还不错,但我 运行 遇到了一个问题,其中 grep 只是忽略了我试图包含在搜索中的字符之一。

我正在搜索的文件包含这一行 configname:user:ip:password:macaddr

而我运行的命令是grep -o "configname:.*:" sshutil_config

我以为这会找到“configname:user:”,但它所做的只是从输出中删除“macaddr”。 configname:user:ip:password:

用户名会改变,所以我永远不知道它是什么,所以我不能专门针对它进行 grep,但我会知道配置名称,所以我正在尝试使用它来搜索用户名。我需要从文件中获取用户名作为输入,并使用 usr=$(grep -o "whatever_this_needs_to_be" sshutil_config)

将其保存到变量中

提前致谢, -A\\/

"configname:.*:"更改为"configname:[^:]*:"

如果您不想使用 grep

,这也是可能的

user="$( cut -d ':' -f 2 <<< "$data" )"