【发布时间】:2011-02-21 16:57:11
【问题描述】:
我有一个类似AxxBCyyyDEFzzLMN 的字符串,我想用_ 替换所有出现的x、y 和z。
我怎样才能做到这一点?
我知道echo "$string" | tr 'x' '_' | tr 'y' '_' 可以工作,但我想一次性完成,不使用管道。
【问题讨论】:
-
您是想用 one 下划线替换任意连续的 x、y 或 z 序列,还是要替换 each x, y , 还是带一个下划线的 z?另外,像
AxyzB这样的混合序列呢?三个下划线还是一个? -
tr '[xyz]'也将替换[和]。参数应该只是一个字符列表(尽管a-z之类的范围是可以的,在某些实现中,POSIX 字符类例如[:digit:])。