【问题标题】:Bash String Remove Specific CharactersBash 字符串删除特定字符
【发布时间】:2011-08-21 04:12:11
【问题描述】:

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

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

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

【问题讨论】:

    标签: php regex bash replace


    【解决方案1】:

    尝试以下方法:

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

    【讨论】:

    • 我怎样才能使一个字符串等于那个?
    • 使用反引号:newstr='echo "..." | tr ...'(但将 ' 替换为反引号。
    【解决方案2】:

    试试这个

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-04
      • 2016-04-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多