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

news2025/2/9 9:45:46

前言

大家好,又见面了,我是沐风晓月,本文是专栏【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虽然用的不多,但也算一个比较实用的工具,你学会了吗
💕💕💕 好啦,这就是今天要分享给大家的全部内容了,我们下期再见!✨ ✨ ✨
🍻🍻🍻如果你喜欢的话,就不要吝惜你的一键三连了~

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/640451.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

F407之位带操作

位带操作的应用场景&#xff0c;通常在于对IO口进行输入输出读取和控制。 这就和51单片机中直接的端口赋值是一样的。 比如 P0.0 0; P0.0 1; 直接就是对端口P0.0输出0和1。 如何实现呢&#xff1f; 什么是位带操作 位带操作简单的说&#xff0c;就是把每个比特膨胀为一个32位…

全面了解AES加密:入门指南

文章目录 I. 介绍A. 什么是加密B. 为什么要加密1. 保护数据的机密性2. 防止数据被篡改3. 防止数据被窃取4. 保护数据的可信度 C. AES加密的概述 II. 对称加密与非对称加密A. 对称加密的定义和特点1. 简单快速2. 安全性较低3. 适合大量数据加密4. 密钥管理困难5. 用途广泛 B. 非…

黑马版Redis基础篇

一、 初识redis 1.1 认识 NoSQL 关系型数据库&#xff1a; 1.2 认识Redis 二、Redis 常见命令 2.1 Redis 数据结构介绍 2.2 Redis 通用命令 2.3 String 类型 2.3.1 Key的层级格式 2.4 Hash 类型 2.5 List 类型 2.6 Set 类型 2.7 SortedSet 类型 三、Redis 的 Java 客户端 1.…

DelayQueue的核心属性和写入、读取流程分析

DelayQueue的核心属性 DelayQueue的写入流程分析 add方法也是包装使用offer方法。Delay是无解的&#xff0c;数组又可以动态扩容&#xff0c;不需要关注生产者的阻塞问题 offer方法分析 DelayQueue读取流程 消费者消费元素存在两种阻塞的情况&#xff1a; 1.消费者得到栈顶的…

华为OD机试真题 JavaScript 实现【预定酒店】【2022Q4 100分】

一、题目描述 放暑假了&#xff0c;小明决定到某旅游景点游玩&#xff0c;他在网上搜索到了各种价位的酒店(长度为n的 数组A)&#xff0c;他的心理价位是x元&#xff0c;请帮他筛选出k个最接近x元的酒店 (n>k>0) ,并由低到高打印酒店的价格。 二、输入描述 第一行: n,…

chatgpt赋能python:Python怎么开三次方?

Python怎么开三次方&#xff1f; Python是一门常用的高级编程语言&#xff0c;被广泛用于数据分析、人工智能、Web开发等领域。在Python中&#xff0c;我们可以使用几种方法轻松地计算三次方根&#xff0c;例如使用sqrt函数、cbrt函数和简单的数学表达式。本文将介绍三种方法&…

聊聊Scrum三大角色的质量意识和文化建设

这是鼎叔的第六十三篇原创文章。行业大牛和刚毕业的小白&#xff0c;都可以进来聊聊。 欢迎关注本专栏和微信公众号《敏捷测试转型》&#xff0c;星标收藏&#xff0c;大量原创思考文章陆续推出。 参考前文&#xff1a;聊聊Scrum价值观与测试启发 本篇从Scrum的主要角色视角…

开关电源精确到每个元件-分解电源电路

本次讲解电源以一个13.2W电源为例 输入&#xff1a;AC90~264V 输出&#xff1a;3.3V/4A 原理图&#xff1a; 变压器是整个电源供应器的重要核心&#xff0c;所以变压器的计算及验证是很重要的。 1.决定变压器的材质及尺寸: 依据变压器计算公式 2.决定一次侧滤波电容&#…

第五章JMM内存模型

文章目录 计算机硬件存储体系为什么要弄一个 CPU 高速缓存呢&#xff1f;为什么缓存能提高速度呢&#xff1f;缓存带来的问题 Java之JMM模型JMM 是如何抽象线程和主内存之间的关系线程之间如何通信Java 内存区域和 JMM 有何区别 JMM规范下&#xff0c;三大特性原子性可见性有序…

000mysql常用资源推荐

官网 MySQL :: MySQL 8.0 Reference Manualhttps://dev.mysql.com/doc/refman/8.0/en/ 博客 一树一溪 侧重原理https://mp.weixin.qq.com/mp/homepage?__bizMzg3NTc3NjM4Nw&hid2&snb5d65ce17893a722b6748b471412eab0&scene1&devicetypeandroid-33&ver…

Spring-Boot的创建与配置文件

文章目录 前言Spring与SpringBoot的区别SpringBoot的创建与使用 更改国内源配置SpringBoot目录介绍SpringBoot配置文件配置⽂件的格式properties 基本语法yml的基本语法yml的注意事项 properties VS yml 好坏 前言 前面讲述了 ,Spring的概念与使用方法 , 接下来要介绍的是 Spr…

华为OD机试真题 JavaScript 实现【服务中心选址】【2023Q1 100分 】

一、题目描述 一个快递公司希望在一条街道建立新的服务中心。公司统计了该街道中所有区域在地图上的位置&#xff0c;并希望能够以此为依据为新的服务中心选址&#xff0c;使服务中心到所有区域的距离的总和最小。 给你一个数组 positions&#xff0c;其中 positions[i] [le…

B+树:高效存储与索引的完美结合

目录 引言&#xff1a;一、定义&#xff1a;二、B树和B树三、特点&#xff1a;四、应用场景&#xff1a;总结&#xff1a; 引言&#xff1a; 在计算机科学领域中&#xff0c;数据结构的选择对于高效存储和索引数据至关重要。B树&#xff08;B tree&#xff09;作为一种自平衡的…

chatgpt赋能python:Python怎么并排输出

Python怎么并排输出 Python是一种高级编程语言&#xff0c;它受到了全球程序员的欢迎。在Python编程中&#xff0c;经常需要将多个变量或数据一起输出。 本文将介绍Python如何并排输出&#xff0c;使输出内容更加整齐美观&#xff0c;提高代码可读性和可维护性。 使用print(…

Chrome浏览器进程:了解多进程架构优劣的探索

文章目录 I. 介绍简述Chrome浏览器的进程模型和重要性 II. 多进程架构的优劣详述Chrome浏览器的多进程架构分析多进程架构对性能、安全性和稳定性的影响对比单进程架构的优缺点和Chrome浏览器多进程架构的差异 III. Chrome浏览器进程类型和作用解释Chrome浏览器中常见的进程类型…

OpenMMLab-AI实战营第二期——5-1.语义分割与MMSegmentation

文章目录 1. 基本概念1.1 案例演示1.2 应用1.3 语义分割概念 2. 语义分割算法2.1 语义分割基本思路2.1.1 按颜色2.1.2 逐像素分类 2.2 深度学习下的语义分割模型2.2.1 全卷积网络2.2.2 Unet2.2.3 上下文信息与PSPNet模型2.2.4 空洞卷积与DeepLab算法2.2.5 总结2.2.6 前言语义分…

我们该如何应对工作失误(How to Handle Failure at Work)

花时间反思 组织架构心理学家、Audrey Page & Associates执行服务总监&#xff0c;Penelope Faure博士表示&#xff1a;“人们在犯错后情绪往往会十分激动。”不论是因为老板在电子邮件中流露出对你的指责&#xff0c;还是因为你明显的疏忽导致客户利益受损&#xff0c;又…

Android 13(T) Media框架 - 智能指针

Android有一套自己的智能指针管理办法&#xff0c;并且将其运用在源码的各个角落&#xff0c;所以学习Media框架之前&#xff0c;我们有必要先了解下Android智能指针。 本节代码源自于Android 13(T)&#xff0c;参考 (aospxref.com) 1 概述 与智能指针相关的总共有5个类&#…

前端加载超大图片(100M以上)实现秒开解决方案

前端加载超大图片(100M以上)实现秒开解决方案 前言 前端加载超大图片时&#xff0c;一般可以采取以下措施实现加速&#xff1a; 图片压缩&#xff1a;将图片进行压缩可以大幅减小图片的大小&#xff0c;从而缩短加载时间。压缩图片时需要注意保持图片质量&#xff0c;以免影响…

CSS基础学习--9 边框(Border)

一、CSS 边框属性 CSS边框属性允许你指定一个元素边框的样式和颜色。 二、边框的样式 边框样式属性指定要显示什么样的边界。 border-style属性用来定义边框的样式 border-style 值: <!DOCTYPE html> <html> <head> <meta charset"utf-8">…