我试图得到:
echo "penguin." | sed 's/\.[A-Za-z0-9][A-Za-z0-9]*$/'".pippa"'/g'
输出:
penguin.pippa
如何修改代码以便它可以解释“。” 适当地?
谢谢你
echo "penguin."| sed 's/\.$/.pippa/g'
你的表情:
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 表达式第二部分中的引号在这里没有任何作用。
sed 's/\.[A-Za-z0-9]*$/'".pippa"'/g'
echo "penguin." | sed 's/\./'".pippa"'/g'
或者
echo "penguin." | sed 's/\.[A-Za-z0-9]*$/'".pippa"'/g'