首页 > 解决方案 > Bash:printf中特殊字符的文字字符串

问题描述

如何在 bash 中打印出特殊字符的文字字符串?我总是得到扩展\t字符。例如下面的代码:

value="0.1"
ln=5
thestring=$(printf $'%si \
    var1=$(dpkg-query -s "$1" |  grep \'Package:\' | sed \'s/^.*: //\') \
    var2=$(grep -m 1 "^$1$(printf \'%s\').*$(printf \'%s\')$value" file.txt) \
' "$ln" "\\t" "\\t")
sed "$thestring" -i somefile.txt

对于扩展字符var2\t我期望输出如下所示:

var2=$(grep -m 1 "^$1$(printf '\t').*$(printf '\t')$value" file.txt)

任何想法?谢谢!

标签: bash

解决方案


推荐阅读