命令巧合有作为,管道符号显神威。
笔记模板由python脚本于2025-07-11 12:32:40创建,本篇笔记适合喜欢Linux命令行指令的coder翻阅。
学习的细节是欢悦的历程
博客的核心价值:在于输出思考与经验 ,而不仅仅是知识的简单复述。
-
Python官网:
这里,才python前沿。英文原版,原汁原味,才是寻根溯源的正统。😎 -
Free:
大咖免费"圣级"秘笈《 python 完全自学教程》不仅仅是基础那么简单......
自学并不是什么神秘的东西,一个人一辈子自学的时间,总是比在学校学习的时间长;没有老师的时候总是比有老师的时候多。
------ 华罗庚
---== 彰显C位 ==---
- 您 ,可以在评论区++书写++任何想法
- (我将在看到的第一时间回应)
- (预置空地)
---== 彰显C位 ==---

命令巧合有作为 curl巧用 ( 管道符号显神威)
本文质量分:
【 96 96 96 】
本文地址: articleUrl
CSDN质量分查询入口:http://www.csdn.net/qc
目 录
- ◆ curl巧用
-
- 1、 前言
- 2、 使用curl解析页面数据
-
- 2.1 基本获取页面内容
- 2.2 结合文本处理工具解析
-
- 2.2.1 使用grep提取特定内容
- 2.2.2 使用sed处理文本
- 2.2.3 使用awk提取数据
- 2.3 结合HTML/XML解析工具
-
- 2.3.1 使用xmllint ~(需要安装libxml2)~
- 2.3.2 使用hxselect ~(来自html-xml-utils包)~
- 2.3.3 使用pup ~(专门用于HTML解析)~
- 2.4 结合jq解析JSON数据
- 2.5 高级用法示例
-
- 2.5.1 提取所有链接
- 2.5.2 提取页面标题
- 2.6 常用curl选项
- 3、 Linux 下定义变量的方法
-
- 3.1 基本变量定义
- 3.2 访问变量值
- 3.3 变量类型
-
- 3.3.1 局部变量 (默认)
- 3.3.2 环境变量
- 3.3.3 只读变量
- 3.4 特殊变量
- 3.5 变量操作
-
- 3.5.1 字符串操作
- 3.5.2 默认值
- 3.6 数组变量
- 3.7 删除变量
- 3.8 查看所有变量
- 3.9 变量作用域
- 3.X 引号的区别
- 4、 Linux命令行中的注释方法
-
- 4.1 单行注释
- 4.2 多行注释方法
-
- 方法一:每行加
- 方法二:使用冒号和 here-document
- 方法三:使用 if false 块
- 4.3 脚本中的特殊注释
-
- 4.3.1 Shebang 注释~(必须放在脚本第一行)~
- 4.3.2 功能说明注释
- 4.4 命令行中的临时注释
- 4.5 注释最佳实践
- 4.6 禁用命令执行~(通过注释)~
- 5、结语
- ※ 附录本文用到的"命令行指令"
◆ curl巧用
1、 前言
今天由于公交🚌晚点5分钟,没赶上公司交通车,公交倒腾上班,车上无聊想起我之前在 P y t h o n Python Python用os.system('curl url > filename')
将页面源码写入磁盘文本现读取解析的经历,突发奇想,是不是可以直接在 L i n u x Linux Linux命令行得到解析数据......
我讨教了我的『免费电子书童』 D e e p S e e k DeepSeek DeepSeek------
2025 2025 2025
2、 使用curl解析页面数据
curl是一个强大的命令行工具,用于传输数据,但它本身不直接提供解析功能。不过你可以结合其他工具来解析获取的页面数据。
以下是几种常见方法:
2.1 基本获取页面内容
bash
curl https://example.com
这个简单,一学就会。😋
2.2 结合文本处理工具解析
我以我的博文 〖诗意 2 0 2 5(36.《天潮》 2025-07-03)------共谱新篇同讨如诗生活〗地址"https://blog.csdn.net/m0_57158496/article/details/145225375"为例试码。
base
url=https://blog.csdn.net/m0_57158496/article/details/145225375 # 我的博文〖小诗《苦》赏析("诗人"我/智普清言/DeepSeek)〗地址
curl $url # 读取我的博文页面源码
效果截屏:
指令
获取到的我的博文源码文本
2.2.1 使用grep提取特定内容
bash
curl -s https://example.com | grep "pattern"
命令:
base
curl -s $url | grep "pattern" # grep提取特定内容
效果截屏:
2.2.2 使用sed处理文本
bash
curl -s https://example.com | sed -n '/<title>/p'
命令:
base
curl -s $url | sed -n '/<title>/p' # 用sed提取文章标题
效果截屏图片:
2.2.3 使用awk提取数据
bash
curl -s https://example.com | awk '/pattern/{print $0}'
命令:
base
curl -s $url | awk '/pattern/{print $0}'
效果截屏图片:
2025 2025 2025
2.3 结合HTML/XML解析工具
需要安装"外挂"程序的玩儿花样儿,我就不用试炼了。如您有兴趣,试试。😋
2.3.1 使用xmllint (需要安装libxml2)
bash
curl -s https://example.com | xmllint --html --xpath "//title" -
2.3.2 使用hxselect (来自html-xml-utils包)
bash
curl -s https://example.com | hxselect "title"
2.3.3 使用pup (专门用于HTML解析)
bash
curl -s https://example.com | pup 'title'
2.4 结合jq解析JSON数据
如果API返回JSON数据:
bash
curl -s https://api.example.com/data.json | jq '.key'
2.5 高级用法示例
2.5.1 提取所有链接
bash
curl -s https://example.com | grep -o 'href="[^"]*"' | sed 's/href="//;s/"$//'
指令:
base
curl -s $url | grep -o 'href="[^"]*"' | sed 's/href="//;s/"$//' # 提取掺链接
效果截屏图片:
如图所鉴,已经获取了页面的所有url链接文本。😎
2.5.2 提取页面标题
bash
curl -s https://example.com | grep -o '<title>[^<]*</title>' | sed 's/<title>//;s/<\/title>//'
指令:
base
curl -s $url | grep -o '<title>[^<]*</title>' | sed 's/<title>//;s/<\/title>//' # 提取页面标题
效果截屏图片:
2.6 常用curl选项
-s
静默模式(不显示进度/错误信息)-o FILE
输出到文件-L
跟随重定向-H
添加请求头-d
发送POST数据
对于复杂的网页解析,建议使用专门的工具如BeautifulSoup(Python)或结合编程语言来实现更灵活的解析。
这只是多晓得一个『获取信息的途径』而已,我的感觉是比re
模块(Python)手撕页面数据不只慢一星半点,简直可以说是"龟速/蜗牛"。😋
2025 2025 2025
3、 Linux 下定义变量的方法
在 Linux shell
环境中,定义变量是基本的操作之一。以下是定义和使用变量的各种方法:
3.1 基本变量定义
bash
变量名=值
示例:
bash
name="John Doe"
age=30
path=/usr/local/bin
注意:
- 等号两边不能有空格
- 值中有空格时需要用引号括起来
3.2 访问变量值
使用 $
符号访问变量值:
bash
echo $name
echo "My name is $name and I'm $age years old."
3.3 变量类型
3.3.1 局部变量 (默认)
只在当前 shell 中有效
bash
local_var="Hello"
3.3.2 环境变量
使用 export
使变量对子进程可见
bash
export PATH=$PATH:/new/path
或先定义再导出:
bash
MY_VAR="value"
export MY_VAR
3.3.3 只读变量
定义后不能被修改
bash
readonly PI=3.14159
3.4 特殊变量
$0
- 脚本名称$1
,$2
, ... - 脚本参数$#
- 参数个数$?
- 上一个命令的退出状态$$
- 当前 shell 的进程 ID$USER
- 当前用户名$HOME
- 用户主目录$PWD
- 当前工作目录
3.5 变量操作
3.5.1 字符串操作
bash
str="Hello World"
echo ${#str} # 获取长度
echo ${str:6:5} # 子字符串(从第6个开始取5个)
echo ${str/World/Linux} # 替换
3.5.2 默认值
bash
echo ${undefined_var:-"默认值"} # 如果未定义使用默认值
echo ${defined_var:+"替代值"} # 如果已定义使用替代值
3.6 数组变量
bash
fruits=("Apple" "Banana" "Orange")
echo ${fruits[0]} # 访问第一个元素
echo ${fruits[@]} # 访问所有元素
echo ${#fruits[@]} # 获取数组长度
3.7 删除变量
bash
unset variable_name
3.8 查看所有变量
查看所有已定义的变量:
bash
set
查看所有环境变量:
bash
env
printenv
3.9 变量作用域
在函数中定义局部变量:
bash
function myfunc() {
local local_var="只在函数内有效"
global_var="全局有效"
}
3.X 引号的区别
-
双引号:允许变量扩展
bashecho "Value is $var"
-
单引号:禁止变量扩展
bashecho 'Value is $var' # 会输出 $var 而不是变量值
掌握这些变量定义和使用方法,可以让你在 Linux shell 脚本编写中更加得心应手。
2025 2025 2025
4、 Linux命令行中的注释方法
在 Linux 命令行和 shell 脚本中,有多种方式可以添加注释文本:
4.1 单行注释
使用 #
符号开始注释,从 #
开始到行尾的内容都会被忽略:
bash
# 这是一个单行注释
command # 这是命令后的注释
4.2 多行注释方法
虽然 shell 没有直接的多行注释语法,但有几种变通方法:
方法一:每行加
bash
# 这是第一行注释
# 这是第二行注释
# 这是第三行注释
方法二:使用冒号和 here-document
bash
: <<'COMMENT'
这是多行注释的第一行
这是第二行
可以包含特殊字符如 $、!、* 等
COMMENT
方法三:使用 if false 块
bash
if false; then
这是被注释的代码块
可以有多行内容
fi
4.3 脚本中的特殊注释
4.3.1 Shebang 注释(必须放在脚本第一行)
bash
#!/bin/bash
# 这是一个bash脚本
4.3.2 功能说明注释
bash
#!/bin/bash
# 脚本名称: backup.sh
# 作者: John Doe
# 创建日期: 2023-10-01
# 描述: 这个脚本用于执行系统备份
# 用法: ./backup.sh [选项] [参数]
4.4 命令行中的临时注释
在命令行中,可以使用 #
注释部分命令:
bash
$ echo "Hello" # 这是注释部分
Hello
4.5 注释最佳实践
-
解释复杂的命令或逻辑
-
记录脚本的用途和参数
-
标记待办事项或需要改进的地方
bash# TODO: 需要添加错误处理 # FIXME: 这里的逻辑有问题
-
避免过度注释显而易见的代码
-
保持注释与代码同步更新
4.6 禁用命令执行(通过注释)
在测试脚本时,可以注释掉不想执行的命令:
bash
# rm -rf /tmp/oldfiles # 先注释掉危险的删除命令
记住,良好的注释习惯可以大大提高脚本的可维护性和可读性。
2025 2025 2025
5、结语
当然,掌握了『语言』的"注释技术",可以更好的玩转语言。🤗我在 P y t h o n Python Python中用'''
三引号对来"冷却"暂时不想执行的代码块,让『程序调试』更风生水起。😎💪
2025 2025 2025
※ 附录本文用到的"命令行指令"
本文用到的nux指令集:
base
# 本博文的试炼指令 #
# 定义变量,简化后续指令 #
url=https://blog.csdn.net/m0_57158496/article/details/145225375 # 我的博文〖诗意 2 0 2 5(36.《天潮》 2025-07-03)------共谱新篇同讨如诗生活〗地址
curl $url # 读取我的博文页面源码
curl -s $url | grep "pattern" # grep提取特定内容
curl -s $url | sed -n '/<title>/p' # 用sed提取文章标题
curl -s $url | awk '/pattern/{print $0}' # 提取特定内容
curl -s $url | grep -o 'href="[^"]*"' | sed 's/href="//;s/"$//' # 提取掺链接
curl -s $url | grep -o '<title>[^<]*</title>' | sed 's/<title>//;s/<\/title>//' # 提取页面标题
2025 2025 2025
上一篇:
三元诗赏(Python)------DeepSeek对我两首小诗的解读和同情(24)
我的HOT博:
本次共计收集481篇博文笔记信息,总阅读量76.75w。数据采集于2025年06月11日 23:23:07,用时8分53.7秒。阅读量不小于6.00k 的有 11 11 11篇。
- 让QQ群昵称色变的神奇代码
地址:https://blog.csdn.net/m0_57158496/article/details/122566500
浏览阅读:63,365
点赞:25 收藏:91 评论:17
(本篇笔记于2022-01-18 19:15:08首次发布,最后修改于2022-01-20 07:56:47) - Python列表(list)反序(降序)的7种实现方式
地址:https://blog.csdn.net/m0_57158496/article/details/128271700
浏览阅读:14,404
点赞:10 收藏:40 评论:9
(本篇笔记于2022-12-11 23:54:15首次发布,最后修改于2023-03-20 18:13:55) - 个人信息提取(字符串)
地址:https://blog.csdn.net/m0_57158496/article/details/124244618
浏览阅读:10,618
点赞:3 收藏:21
(本篇笔记于2022-04-18 11:07:12首次发布,最后修改于2022-04-20 13:17:54) - pandas 数据类型之 DataFrame
地址:https://blog.csdn.net/m0_57158496/article/details/124525814
浏览阅读:10,449
点赞:7 收藏:40
(本篇笔记于2022-05-01 13:20:17首次发布,最后修改于2022-05-08 08:46:13) - 统计字符串字符出现的次数
地址:https://blog.csdn.net/m0_57158496/article/details/130517025
浏览阅读:8,683
点赞:5 收藏:27
(本篇笔记于2023-05-06 22:28:18首次发布,最后修改于2023-05-12 06:21:40) - 罗马数字转换器|罗马数字生成器
地址:https://blog.csdn.net/m0_57158496/article/details/122592047
浏览阅读:8,518
收藏:3
(本篇笔记于2022-01-19 23:26:42首次发布,最后修改于2022-01-21 18:37:46) - Python字符串居中显示
地址:https://blog.csdn.net/m0_57158496/article/details/122163023
浏览阅读:8,255
点赞:1 收藏:12 评论:1 - 回车符、换行符和回车换行符
地址:https://blog.csdn.net/m0_57158496/article/details/123109488
浏览阅读:7,003
点赞:2 收藏:4
(本篇笔记于2022-02-24 13:10:02首次发布,最后修改于2022-02-25 20:07:40) - python清屏
地址:https://blog.csdn.net/m0_57158496/article/details/120762101
浏览阅读:6,364
点赞:1 收藏:10 - 我的 Python.color() (Python 色彩打印控制)
地址:https://blog.csdn.net/m0_57158496/article/details/123194259
浏览阅读:6,301
点赞:2 收藏:9
(本篇笔记于2022-02-28 22:46:21首次发布,最后修改于2022-03-03 10:30:03) - 斐波那契数列的递归实现和for实现
地址:https://blog.csdn.net/m0_57158496/article/details/122355295
浏览阅读:6,007
点赞:4 收藏:2 评论:8
推荐条件 阅读量突破6.00k (更多热博,请点击蓝色文字跳转翻阅)
截屏图片
(此文涉及ChatPT,曾被csdn多次下架,前几日又因新 发笔记被误杀而落马。躺"未过审"还不如回收站 ,回收站还不如永久不见。😪值此年底清扫,果 断移除。留此截图,以识"曾经"。2023-12-31)
2 0 2 5 2 0 2 5 2 0 2 5

精品文章:
- *好 文力荐:*齐伟书稿 《python 完全自学教程》Free 连载 (已完稿并集结成书,还有PDF版本百度网盘永 久分享,点击跳转 免费🆓下载。)
- OPP三大特性:封装中的property
- 通过内置 对象理解python
- 正则表达式
- python中"*"的作用
- Python 完全自学手册
- 海象运算符
- Python中的 `!=`与`is not`不同
- 学习编程的正确方法
来源: 老齐教室
◆ Python 入门指南 【Python 3.6.3】
好文力 荐:
- 全栈领域优质创作者------[寒 佬]博文"非技术文---关于英语和如何正确的提问","英语"和"会提问"是编程学习的两大利器。
- 【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
- 靠谱程序员的好习惯
- 大佬帅地的优质好文"函 数功能、结束条件、函数等价式"三大要素让您认清递归
CSDN实用技巧博文: