linux基本功只10个高效学习Linux命令行工具的技巧:Pandoc实战

前言

大家好,又见面了,我是沐风晓月,本文是专栏【linux基本功-基础命令实战】的第65篇文章。

专栏地址:[linux基本功-基础命令专栏] , 此专栏是沐风晓月对Linux常用命令的汇总,希望能够加深自己的印象,以及帮助到其他的小伙伴。

如果文章有什么需要改进的地方还请大佬不吝赐教。

个人主页:我是沐风晓月
个人简介:大家好,我是沐风晓月,双一流院校计算机专业
座右铭: 先努力成长自己,再帮助更多的人 ,一起加油进步
欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信

文章目录

  • 前言
  • 一. pandoc命令介绍
  • 二. 安装及参数
  • 三. 参数的介绍
    • 3.1 将 Markdown 文件转换为 HTML 文件
    • 3.2 将 Markdown 文件转换为 LaTeX 文件:
    • 3.3 将 Markdown 文件转换为 Word 文档
  • 四. 脚本案例
  • 总结

一. pandoc命令介绍

Pandoc 是一种通用文档转换工具,可以将文档从一种格式转换为另一种格式。Pandoc 支持多种输入和输出格式,包括 Markdown、LaTeX、HTML、Docbook、EPUB 等。

Pandoc 能够识别并转换文档中的大多数元素,包括标题、段落、列表、表格、代码块、数学公式等。Pandoc 还可以生成高质量的输出文档,支持定制化样式和模板、交叉引用等高级特性。

二. 安装及参数

pandoc的官网:https://pandoc.org/

在centos7中,我们可以使用yum 安装:

root@mufeng41 ~]# yum install epel-release.noarch   && yum install pandoc -y

查看以下帮助:

[root@mufeng41 ~]# pandoc --help
pandoc [OPTIONS] [FILES]
Input formats:  docbook, haddock, html, json, latex, markdown, markdown_github,
                markdown_mmd, markdown_phpextra, markdown_strict, mediawiki,
                native, opml, rst, textile
Output formats: asciidoc, beamer, context, docbook, docx, dzslides, epub, epub3,
                fb2, html, html5, json, latex, man, markdown, markdown_github,
                markdown_mmd, markdown_phpextra, markdown_strict, mediawiki,
                native, odt, opendocument, opml, org, pdf*, plain, revealjs,
                rst, rtf, s5, slideous, slidy, texinfo, textile
                [*for pdf output, use latex or beamer and -o FILENAME.pdf]
Options:
  -f FORMAT, -r FORMAT  --from=FORMAT, --read=FORMAT                    
  -t FORMAT, -w FORMAT  --to=FORMAT, --write=FORMAT                     
  -o FILENAME           --output=FILENAME                               
                        --data-dir=DIRECTORY                            
                        --strict                                        
  -R                    --parse-raw                                     
  -S                    --smart                                         
                        --old-dashes                                    
                        --base-header-level=NUMBER                      
                        --indented-code-classes=STRING                  
  -F PROGRAM            --filter=PROGRAM                                
                        --normalize                                     
  -p                    --preserve-tabs                                 
                        --tab-stop=NUMBER                               
  -s                    --standalone                                    
                        --template=FILENAME                             
  -M KEY[:VALUE]        --metadata=KEY[:VALUE]                          
  -V KEY[:VALUE]        --variable=KEY[:VALUE]                          
  -D FORMAT             --print-default-template=FORMAT                 
                        --print-default-data-file=FILE                  
                        --no-wrap                                       
                        --columns=NUMBER                                
                        --toc, --table-of-contents                      
                        --toc-depth=NUMBER                              
                        --no-highlight                                  
                        --highlight-style=STYLE                         
  -H FILENAME           --include-in-header=FILENAME                    
  -B FILENAME           --include-before-body=FILENAME                  
  -A FILENAME           --include-after-body=FILENAME                   
                        --self-contained                                
                        --offline                                       
  -5                    --html5                                         
                        --html-q-tags                                   
                        --ascii                                         
                        --reference-links                               
                        --atx-headers                                   
                        --chapters                                      
  -N                    --number-sections                               
                        --number-offset=NUMBERS                         
                        --no-tex-ligatures                              
                        --listings                                      
  -i                    --incremental                                   
                        --slide-level=NUMBER                            
                        --section-divs                                  
                        --default-image-extension=extension             
                        --email-obfuscation=none|javascript|references  
                        --id-prefix=STRING                              
  -T STRING             --title-prefix=STRING                           
  -c URL                --css=URL                                       
                        --reference-odt=FILENAME                        
                        --reference-docx=FILENAME                       
                        --epub-stylesheet=FILENAME                      
                        --epub-cover-image=FILENAME                     
                        --epub-metadata=FILENAME                        
                        --epub-embed-font=FILE                          
                        --epub-chapter-level=NUMBER                     
                        --latex-engine=PROGRAM                          
                        --bibliography=FILE                             
                        --csl=FILE                                      
                        --citation-abbreviations=FILE                   
                        --natbib                                        
                        --biblatex                                      
  -m[URL]               --latexmathml[=URL], --asciimathml[=URL]        
                        --mathml[=URL]                                  
                        --mimetex[=URL]                                 
                        --webtex[=URL]                                  
                        --jsmath[=URL]                                  
                        --mathjax[=URL]                                 
                        --gladtex                                       
                        --dump-args                                     
                        --ignore-args                                   
  -v                    --version                                       
  -h                    --help   

三. 参数的介绍

输入和输出的格式可以使用命令行选项来指定。

使用 -f 或 --from 来指定输入的格式(而非具体的文件)。

使用 -t 或 --to 来指定输出的格式(而非具体的文件)。

如,你要将 hello.txt 的内容从 Markdown 转成 LateX,那么你应该输入:

pandoc -f markdown -t latex hello.txt

3.1 将 Markdown 文件转换为 HTML 文件

pandoc -f markdown -t html input.md -o output.html

此命令中:-f 选项指定要转换的文件格式为 Markdown,-t 选项指定要输出的文件格式为 HTML。input.md 为输入文件,output.html 为输出文件。

3.2 将 Markdown 文件转换为 LaTeX 文件:

pandoc -f markdown -t latex input.md -o output.tex

-f 选项指定要转换的文件格式为 Markdown,-t 选项指定要输出的文件格式为 LaTeX。这里的输出文件为 .tex 格式文件,可以使用 LaTeX 编译器进一步编译为 PDF 或 DVI 等格式

3.3 将 Markdown 文件转换为 Word 文档

pandoc -f markdown -t docx input.md -o output.docx

-f 选项指定要转换的文件格式为 Markdown,-t 选项指定要输出的文件格式为 Word 文档。输出文件为 .docx 格式文件,可以使用 Microsoft Word 或 WPS 等软件打开。

四. 脚本案例

统计磁盘空间中/dev/sda的大小,并用html展示出来

[root@mufeng41 ~]# cat disk_html.sh 
#!/bin/bash
# 安装httpd ,如果有先删除
rm -rf /var/run/yum.pid
yum makecache fast

yum remove httpd -y
yum install httpd -y 

# 统计磁盘空间
disk_usage=$(df -h /dev/sda)

# 将结果输出到文件
echo "Disk Usage:" > diskusage.txt
echo "$disk_usage" >> diskusage.txt

# 将文件转换为 HTML 格式
pandoc diskusage.txt -o /var/www/html/diskusage.html

cd /var/www/html/

cp diskusage.html diskusage.html.bak
mv diskusage.html index.html
systemctl restart httpd

echo "Disk usage report created successfully."
[root@mufeng41 ~]# 

其他服务可以从上面分享的网页中获取资源,并保存成.txt文件

[root@mufeng41 ~]# wget -O example.txt http://192.168.1.41
--2023-06-12 12:53:27--  http://192.168.1.41/
正在连接 192.168.1.41:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:100 [text/html]
正在保存至: “example.txt”

100%[========================================>] 100         --.-K/s 用时 0s      

2023-06-12 12:53:27 (32.2 MB/s) - 已保存 “example.txt” [100/100])

[root@mufeng41 ~]# cat example.txt 
<p>Disk Usage: 文件系统 容量 已用 可用 已用% 挂载点 devtmpfs 894M 0 894M 0% /dev</p>
[root@mufeng41 ~]# 

总结

pandoc虽然用的不多,但也算一个比较实用的工具,你学会了吗
好啦,这就是今天要分享给大家的全部内容了,我们下期再见!✨ ✨ ✨
如果你喜欢的话,就不要吝惜你的一键三连了~

请添加图片描述
在这里插入图片描述

你可能感兴趣的:(#,1,-,linux基本功-基础命令实战,linux,运维)