sed(流编辑器)的使用

sed(流编辑器)的使用

我有一个包含文本的文件

**This is bold text** 
*This is italicized text*

我希望将上述内容转换为

  \textbf{This is bold text}
  \emph{This is italicized text}

使用流编辑器 (sed)。请就此事给我一些指导。

我已经使用过这个代码

sed -i 's/\*\*\(.*\)\*\*/\\textbf{\1}/g' SampleCode 

而且效果非常好

感谢Google 群组

答案1

看起来你正在尝试发明新的潘多克
反而:

  1. 安装 Pandoc:

    sudo apt-get install pandoc
    
  2. 创建输入文件:

    $ cat << EOF > file.md
    **This is bold text** 
    *This is italicized text*
    EOF
    
  3. 运行从 Markdown 到 LaTeX 的转换:

    pandoc file.md -o file.tex
    
  4. 享受结果:

    $ cat file.tex 
    \textbf{This is bold text} \emph{This is italicized text}
    

答案2

这是一个简单的答案:

echo '**This is bold text**' | sed -r 's/\*\*(.+)\*\*/\\textbf{\1}/'
echo '*This is italicized text*' | sed -r 's/\*(.+)\*/\\emph{\1}/'

最重要的是理解正则表达式。网上有多个正则表达式测试器,你可以用它来试验正则表达式。

这里对 sed 进行了非常好的解释。 https://www.grymoire.com/Unix/Sed.html

相关内容