1

我试图得到:

echo "penguin." | sed 's/\.[A-Za-z0-9][A-Za-z0-9]*$/'".pippa"'/g'

输出:

penguin.pippa

如何修改代码以便它可以解释“。” 适当地?

谢谢你

4

4 回答 4

2
echo "penguin."| sed 's/\.$/.pippa/g'
于 2012-04-19T01:47:15.727 回答
2

你的表情:

sed 's/\.[A-Za-z0-9][A-Za-z0-9]*$/'".pippa"'/g'

你是说在点之后必须有一个字母字符。[A-Za-z0-9][A-Za-z0-9]*这表示“一个或多个” [A-Za-z0-9]。点后没有字母数字,字符串结束。所以 sed 永远不会应用更改。删除它,你就准备好了:

echo "penguin." | sed 's/.[A-Za-z0-9]*$/.pippa/g'

此外,sed 表达式第二部分中的引号在这里没有任何作用。

于 2012-04-19T01:47:21.533 回答
2

sed 's/\.[A-Za-z0-9]*$/'".pippa"'/g'

于 2012-04-19T01:46:52.383 回答
1
echo "penguin." | sed 's/\./'".pippa"'/g'

或者

echo "penguin." | sed 's/\.[A-Za-z0-9]*$/'".pippa"'/g'
于 2012-04-19T01:49:50.580 回答