我正在尝试验证一些输入以删除一组字符。只允许使用字母数字字符加、句点、下划线、连字符。我测试了正则表达式[^\w.-]
here http://gskinner.com/RegExr/ http://gskinner.com/RegExr/它与我想要删除的内容相匹配,所以我不知道为什么sed
返回相反的结果。我缺少什么?
我的最终目标是输入"Â10.41.89.50 "
并得到"10.41.89.50
".
我试过了:
echo "Â10.41.89.50 " | sed s/[^\w.-]//g
回报Â...
echo "Â10.41.89.50 " | sed s/[\w.-]//g
and echo "Â10.41.89.50 " | sed s/[\w^.-]//g
回报Â10418950
我尝试在这里找到答案使用 sed 跳过/删除非 ascii 字符 https://stackoverflow.com/questions/8571601/skip-remove-non-ascii-character-with-sed但没有任何内容被删除。
tr /questions/tagged/tr's -c
(补充)标志可能是一个选项
echo "Â10.41.89.50-._ " | tr -cd '[:alnum:]._-'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)