以下内容按预期工作。
awk -F'^' '{printf "set %s:%s %s\n",$1,$2, $7}' todel.txt | sed 's/$/\\r\\n/' >> tofile.txt
但是当我尝试向输出添加变量(如下所示)时,出现错误:
awk -F'^' '{printf "set %s:%s:%s %s\n",$1,$2,$myvar $7}' todel.txt | sed 's/$/\\r\\n/' >> tofile.txt
最佳答案
$myvar
不会在单引号中扩展。
您可以使用 -v
选项将 shell 变量传递给 awk
:
awk -F'^' -v myvar=$myvar '{printf "set %s:%s:%s %s\n",$1,$2,myvar,$7}' todel.txt
关于awk - 在 awk 输出中使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9721807/