【发布时间】:2011-08-21 04:12:11
【问题描述】:
我几乎用完了 bash,但我需要做的最后一件事是对 bash 中的字符串进行正则表达式替换。我这里有 PHP 等价物
preg_replace("/[^a-z0-9\.]/", '',$theme_name);
我需要在 bash 中做同样的事情,即用任何内容替换每个非字母数字字符或点 (.)。提前致谢!
【问题讨论】:
我几乎用完了 bash,但我需要做的最后一件事是对 bash 中的字符串进行正则表达式替换。我这里有 PHP 等价物
preg_replace("/[^a-z0-9\.]/", '',$theme_name);
我需要在 bash 中做同样的事情,即用任何内容替换每个非字母数字字符或点 (.)。提前致谢!
【问题讨论】:
尝试以下方法:
echo "some string" | tr -d -c ".[:alnum:]"
tr“翻译”字符串中的字符-d 删除而不是翻译-c 表示补码[:alnum:] 表示“字母数字”。【讨论】:
newstr='echo "..." | tr ...'(但将 ' 替换为反引号。
试试这个
echo "hello world" | sed -e 's/[reg_ex]//g'
【讨论】: