模式替换中的bash元字符

模式替换中的bash元字符,bash,substitution,metacharacters,Bash,Substitution,Metacharacters,我通常使用bash模式替换${parameter/pattern/string},我想知道在其他工具(例如sed,awk)中是否有任何替换stringmetcharacters,比如&) 我试图使用bash模式替换在每对十六进制数字之前插入0x:1a0e22fe-->0x1a 0x0e 0x22 0xfe 如果&像sed和awk那样工作,那就很容易了: S=1a0e22ff echo "${S//??/ 0x&}" 替换字符串中有元字符吗?恐怕没有。这对Bash来说太复杂了。改用sed

我通常使用bash模式替换
${parameter/pattern/string}
,我想知道在其他工具(例如
sed
awk
)中是否有任何替换
string
metcharacters,比如
&

我试图使用bash模式替换在每对十六进制数字之前插入
0x
1a0e22fe-->0x1a 0x0e 0x22 0xfe

如果
&
sed
awk
那样工作,那就很容易了:

S=1a0e22ff
echo "${S//??/ 0x&}"

替换字符串中有元字符吗?

恐怕没有。这对Bash来说太复杂了。改用
sed
这样的工具更好

input | sed 's/../0x&/g' | output

下面的答案对你有用吗。一定要提供反馈,这样我们才能更好地帮助你。两个答案都有效,但我已经在我的脚本中使用了,这不是我想要的。我需要的是有人确认没有bash技巧可以做同样的事情。