我正在寻找一种可靠的方法将 bash 变量传递给
awk
(通过 -v
),以便分配的 awk
变量将准确包含 bash 变量中的内容。
示例:
#!/bin/bash
bash_var='dir\t\010\out'
awk -v awk_var="$bash_var" 'BEGIN{ print awk_var }'
预期输出:
dir\t\010\out
我的猜测是,加倍反斜杠应该足够了,但我不能说对于任何字符串来说这仍然是正确的。有什么想法吗?
是的,要输出反斜杠,您可以输入
\\
。代码可能看起来像这样:
#!/bin/bash
bash_var='dir\\t\\010\\out'
awk -v awk_var="$bash_var" 'BEGIN{ print awk_var }'