【发布时间】:2021-02-02 08:06:51
【问题描述】:
我要转换
Some text $ latex code $ some more text
到
Some text $latex code$ some more text
以合理的效率使用 sed(或其他东西)。
我尝试使用删除第一个空格
sed -e 's/\$\s*/\$/g'
但这会使$ some 变为$some,这是不可取的。同样,我可以为第二个 $ 执行此操作,但这也会在前面产生类似的问题。
然后我尝试像这样捕获组:
sed -e 's/\$\s*\(.*\)\s*\$/\$\1\$/g'
这不起作用(可能是因为 (.*) 组包括 \s 和 $?)。它的输出是
Some text $latex code $ some more text
那么我怎样才能有效地做到这一点呢?如果答案也能容纳跨越两行的 $$,那就太好了。
【问题讨论】:
-
如果要删除空格,我建议使用空格。
-
对不起,我不明白你的意思。我基本上在这个网站上学习了我所有的 sed 阅读示例。你能解释一下吗?
-
使用空格而不是 \s。
-
好的,我会尝试报告
-
这确实有帮助,但并没有解决整个问题。现在我可以删除两边的一个空格,如果它存在的话。如果我必须替换多个空格(如上面给出的示例),它就不起作用。我尝试使用`*`,但它的行为就像
\s*。