bash – 用空格替换所有项目符号
发布时间:2020-12-15 22:14:40 所属栏目:安全 来源:网络整理
导读:如何用空格替换项目符号(八进制值:225,十六进制值:95)? 我尝试使用以下命令: echo '?test' | tr '225' ' 'echo '?test' | awk '{gsub(/225/," ");print $0}'echo '?test' | sed 's/o225/ /g'echo '?test' | LANG='' sed 's/o225/ /g'echo '?test' |
如何用空格替换项目符号(八进制值:225,十六进制值:95)?
我尝试使用以下命令: echo '?test' | tr '225' ' ' echo '?test' | awk '{gsub(/225/," ");print $0}' echo '?test' | sed 's/o225/ /g' echo '?test' | LANG='' sed 's/o225/ /g' echo '?test' | sed 's/x95/ /g' 以上命令不起作用. 解决方法
让我们来看看你目前的努力失败的原因:
$echo '?test' | hexdump -C 00000000 e2 80 a2 74 65 73 74 0a |...test.| 00000008 这些子弹实际上是三个字节 – e2 80 a2,而不是单个0x95. 纠正的sed表达式工作正常: echo '?test' | sed -e 's/?/ /g' …或(使用bash扩展语法在/ bin / sh中不可用)… echo '?test' | sed -e $'s@xe2x80xa2@ @g' …或(使用bash-builtin替换功能): s='?test' # original string in s orig='?' # item to replace new=' ' # thing to replace it with s2=${s//"$orig"/$new} # result in s2 …或(使用GNU sed扩展,根据@anubhava)… echo '?test' | sed 's@xe2x80xa2@ @g' (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |