我在这里获得正确的输出时遇到了一些麻烦。
我有这个示例文本
test {
abc: rem(1px);
def: rem(2px) rem(3px);
}
这个当前的sed命令
sed -lE "s/rem\((.*)\)/\1/g" test.css
但我的输出看起来像这样
test {
abc: 1px;
def: 2px) rem(3px;
}
我的目标是这个
test {
abc: 1px;
def: 2px 3px;
}
答案 0 :(得分:3)
使用
sed -lE "s/rem\(([^()]*)\)/\1/g" test.css
删除所有个人rem()
。 [^()]
括号表达式(如果我们使用POSIX术语)匹配除(
和)
之外的任何字符。
模式详细信息:
rem\(
- 匹配文字rem(
([^()]*)
- 第1组匹配(
和)
以外的0个或更多字符\)
- 文字)
。 \1
在替换后恢复生成的字符串中的捕获文本。