从文本中提取信息

LinuxLinuxBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在这个项目中,你将学习如何使用Bash脚本从Markdown文件中提取图像URL。在处理技术文档时,这是一项常见的任务,因为它能让你快速识别和获取文档中使用的图像。

👀 预览

$./getimage.sh labex_lab1.md
https://doc.shiyanlou.com/document-uid13labid292timestamp14677222211211.png
https://doc.shiyanlou.com/document-uid13labid292timestamp14672311234511.png
https://doc.shiyanlou.com/document-uid13labid292timestamp14677029556772.png

🎯 任务

在这个项目中,你将学习:

  • 如何创建一个Bash脚本,从Markdown文件中提取图像URL
  • 如何使脚本可执行并从命令行运行它
  • 如何定制脚本,将提取的URL保存到文件中

🏆 成果

完成这个项目后,你将能够:

  • 自动化从Markdown文件中提取图像URL的过程
  • 在处理技术文档时,将这个脚本纳入你的工作流程
  • 根据你的特定需求定制脚本

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("`Linux`")) -.-> linux/BasicSystemCommandsGroup(["`Basic System Commands`"]) linux(("`Linux`")) -.-> linux/FileandDirectoryManagementGroup(["`File and Directory Management`"]) linux(("`Linux`")) -.-> linux/TextProcessingGroup(["`Text Processing`"]) linux/BasicSystemCommandsGroup -.-> linux/echo("`Text Display`") linux/FileandDirectoryManagementGroup -.-> linux/cd("`Directory Changing`") linux/TextProcessingGroup -.-> linux/grep("`Pattern Searching`") linux/TextProcessingGroup -.-> linux/sed("`Stream Editing`") subgraph Lab Skills linux/echo -.-> lab-301469{{"`从文本中提取信息`"}} linux/cd -.-> lab-301469{{"`从文本中提取信息`"}} linux/grep -.-> lab-301469{{"`从文本中提取信息`"}} linux/sed -.-> lab-301469{{"`从文本中提取信息`"}} end

从Markdown文件中提取图像URL

在这一步中,你将学习如何使用Bash脚本从Markdown文件中提取所有图像URL。

  1. 打开一个文本编辑器,创建一个名为getimage.sh的新文件。
  2. 将以下代码添加到文件中:
#!/bin/bash

## 提取图像URL
image_urls=$(grep -o "\!\[.*]\(.*\)" "$1" | sed -E "s/(\!\[.*]\()(.+)(.*\))/\2/g")

## 打印图像URL
echo "$image_urls"

此脚本使用grep命令查找Markdown文件中所有包含图像链接的行,然后使用sed命令从每行中提取URL。

运行脚本

既然你已经创建了getimage.sh脚本,就可以运行它来从Markdown文件中提取图像URL了。

  1. 打开一个终端,导航到保存getimage.sh脚本的目录。
  2. 以Markdown文件的路径作为参数运行脚本:
./getimage.sh /home/labex/project/labex_lab1.md

这将输出在labex_lab1.md文件中找到的所有图像URL,每行一个。

例如,输出可能如下所示:

https://doc.shiyanlou.com/document-uid13labid292timestamp14677222211211.png
https://doc.shiyanlou.com/document-uid13labid292timestamp14672311234511.png
https://doc.shiyanlou.com/document-uid13labid292timestamp14677029556772.png
✨ 查看解决方案并练习

总结

恭喜你!你已经完成了这个项目。你可以在LabEx中练习更多实验来提升你的技能。

您可能感兴趣的其他 Linux 教程