Awk 正则表达式来匹配文件中的特定字符串

Awk 正则表达式来匹配文件中的特定字符串,awk,sed,Awk,Sed,我只想使用sed或awk匹配字符串的一部分 我的字符串: OPC_NODENAME=abcd123.xy.net 预期结果: abcd123.xy.net 您可以尝试下面的awk命令 awk -F= '/OPC_NODENAME=/{print $2}' file 通过sed sed -n '/OPC_NODENAME=/s/^.*=//p' file 我猜您想在您的文件中获取OPC\u NODENAME=的值,(也许是配置文件),我会这样做 grep -Po '^\s*OPC_NODE

我只想使用sed或awk匹配字符串的一部分

我的字符串:

OPC_NODENAME=abcd123.xy.net
预期结果:

abcd123.xy.net

您可以尝试下面的awk命令

awk -F= '/OPC_NODENAME=/{print $2}' file
通过sed

sed -n '/OPC_NODENAME=/s/^.*=//p' file

我猜您想在您的文件中获取
OPC\u NODENAME=
的值,(也许是配置文件),我会这样做

grep -Po '^\s*OPC_NODENAME\s*=\s*\K.*' file
试试这个:

sed 's/.*=//' file

echo "OPC_NODENAME=abcd123.xy.net" | sed 's/.*=//'
abcd123.xy.net

打印您想要的输出总是很简单,排除您不想要的输出要困难得多。发布几行示例输入和预期输出,以有趣/困难的配置在上下文中显示您的目标字符串。@user3834663:如果您只有这一个字符串和GNU grep:
echo'OPC_NODENAME=abcd123.xy.net'|grep-oP'=\K.*
@Cyrus,我想这应该是对原始帖子的注释,而不是这个。