Unix 将awk输出保存到变量中

Unix 将awk输出保存到变量中,unix,awk,Unix,Awk,我的目的是在第二行中查找分隔符后面的字符。它的工作原理如下: prompt> awk -F '.' 'FNR == 2 {print $NF}' file_name.txt Sam 但是,我希望将该输出存储在变量中,但它显示了一个错误: prompt> Name= $(awk -F '.' 'FNR == 2 {print $NF}' file_name.txt) Sam: command not found 如何解决此问题?在Name=和$(awk)之间不应该有空格。这会将其转

我的目的是在第二行中查找
分隔符后面的字符。它的工作原理如下:

prompt> awk -F '.' 'FNR == 2 {print $NF}' file_name.txt
Sam
但是,我希望将该输出存储在变量中,但它显示了一个错误:

prompt> Name= $(awk -F '.' 'FNR == 2 {print $NF}' file_name.txt)
Sam: command not found
如何解决此问题?

Name=
$(awk
)之间不应该有空格。这会将其转换为一个命令的临时变量赋值,类似于以下两者之间的区别:

name=bob    # sets name to bob
name= bob   # sets name to nothing while running bob
换句话说,使用:

prompt> Name=$(awk -F '.' 'FNR == 2 {print $NF}' file_name.txt)
prompt> echo $Name
Sam
Name=
$(awk
)之间不应该有空格。这会将其转换为一个命令的临时变量赋值,类似于以下两者之间的区别:

name=bob    # sets name to bob
name= bob   # sets name to nothing while running bob
换句话说,使用:

prompt> Name=$(awk -F '.' 'FNR == 2 {print $NF}' file_name.txt)
prompt> echo $Name
Sam

$test23=awk-F'''FNR==2{print$NF}file_name.txt-ksh:-F:找不到[没有这样的文件或目录]$awk-F''FNR==2{print$NF}file_name.txt Sam$不起作用!!@PiyushAnand,你为什么要测试与我建议的不同的东西?:-)你缺少了
$()
awk
命令周围填充内容。这使得它尝试将
test23
设置为
awk
,然后运行
-F
命令。$test23=awk-F''''FNR==2{print$NF}文件\u name.txt-ksh:-F:未找到[没有这样的文件或目录]$awk-F''FNR==2{print$NF}'file_name.txt Sam$不起作用!!@PiyushAnand,你为什么要测试与我建议的不同的东西?:-)你缺少
$()
关于
awk
命令的东西。这使得它可以尝试将
test23
设置为
awk
,然后运行
-F
命令。