Bash awk一行不打印
我希望这能打印出abc,但每次我都一无所获Bash awk一行不打印,bash,awk,Bash,Awk,我希望这能打印出abc,但每次我都一无所获 echo abc=xyz | g="$(awk -F "=" '{print $1}')" | echo $g 管道不是一组单独的任务。但是,您可以按如下方式重写当前代码: result=$( echo 'abc=xyz' | awk -F '=' '{print $1}' ) echo "$result" 然而,一个没有中间分配的更以Bash为中心的解决方案可以利用here字符串。例如: awk -F '=' '{print $1}'
echo abc=xyz | g="$(awk -F "=" '{print $1}')" | echo $g
管道不是一组单独的任务。但是,您可以按如下方式重写当前代码:
result=$(
echo 'abc=xyz' | awk -F '=' '{print $1}'
)
echo "$result"
然而,一个没有中间分配的更以Bash为中心的解决方案可以利用here字符串。例如:
awk -F '=' '{print $1}' <<< 'abc=xyz'
awk-F'=''{print$1}'引用:管道中的每个命令都在其自己的子shell中执行
。如果您只想打印:awk-F“=”{print$1}”,请尝试g=$(echo abc=xyz | awk-F“=”{print$1}')&&echo$g
我建议:@glennjackman这行不通,因为awk没有输入。当然会挂起来的。谢谢你指出这一点