以下按预期工作.
awk -F'^' '{printf "set %s:%s %s\n",$1,$2, $7}' todel.txt | sed 's/$/\\r\\n/' >> tofile.txt
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试将输出添加到输出时,如下所示,我收到一个错误:
awk -F'^' '{printf "set %s:%s:%s %s\n",$1,$2,$myvar $7}' todel.txt | sed 's/$/\\r\\n/' >> tofile.txt
Run Code Online (Sandbox Code Playgroud)
$myvar单引号不扩展.
您可以使用该-v选项将shell变量传递给awk:
awk -F'^' -v myvar=$myvar '{printf "set %s:%s:%s %s\n",$1,$2,myvar,$7}' todel.txt
Run Code Online (Sandbox Code Playgroud)