Bash 字符串删除特定字符


Bash String Remove Specific Characters

我几乎完成了使用 bash,但我需做的最后一件事是对 bash 中的字符串进行正则表达式替换。我这里有PHP等效物

preg_replace("/[^a-z0-9'.]/", '',$theme_name);

我需要在 bash 中做同样的事情,即用任何内容替换每个非字母数字字符或点 (.)。提前感谢!

尝试以下操作:

echo "some string" | tr -d -c ".[:alnum:]"
  • tr "翻译"字符串中的字符
  • -d删除而不是翻译
  • -c表示补充
  • [:alnum:]的意思是"字母数字"。

试试这个

echo "hello world" | sed  -e 's/[reg_ex]//g'