当前位置: 首页 > news >正文

函数、数组与 grep + 正则表达式的 Linux Shell 编程进阶指南

文章目录

      • 1.函数相关
      • 2.数组相关
      • 3.正则表达式与grep


根据你提供的内容,我整理了一份关于Shell脚本中函数、数组和正则表达式的简明参考:

1.函数相关

  1. 函数调用

    • 直接使用函数名调用:函数名
  2. 参数传递

    • 函数内接收参数:$n(如$1表示第一个参数,${10}表示第十个参数)
    • 调用时传递参数:函数名 参数1 参数2 ...
  3. 返回值处理

    • 函数中使用return 数据值返回数据
    • 返回值默认存储在$?
    • 可直接使用$?操作返回值
      案例:
      在这里插入图片描述
      在这里插入图片描述

2.数组相关

  1. 数组定义

    # 直接定义
    array_name=(value1 value2 value3 ...)# 单独定义元素
    array_name[0]=value1
    array_name[1]=value2
    
  2. 数组元素读取

    # 读取指定索引元素(索引从0开始)
    echo ${array_name[index]}# 读取所有元素
    echo ${array_name[@]}  # 或 ${array_name[*]}
    
  3. 数组遍历

    # 方式1
    for ceshi in "${array_name[@]}"; doecho $ceshi
    done# 方式2
    for ((i=0; i<${#array_name[@]}; i++)); doecho ${array_name[i]}
    done
    

在这里插入图片描述

3.正则表达式与grep

  1. grep常用选项

    • -E:启用扩展正则
    • -c:统计匹配行数
    • -i:忽略大小写
    • -o:只输出匹配内容
    • -v:反向匹配(不包含的行)
    • -n:显示行号
  2. 常用元字符

    • ^:行首
    • $:行尾
    • .:任意单字符
    • []:匹配字符集中的任意一个字符
    • [^]:反向匹配(不包含字符集中的任意一个字符)
    • *:匹配前面的子表达式零次或多次
    • {n}:精确匹配n次
    • {n,}:至少匹配n次
    • {n,m}:匹配n到m次
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

http://www.dtcms.com/a/360810.html

相关文章:

  • GPU 通用手册:裸机、Docker、K8s 环境实战宝典
  • 嵌入式碎片知识总结(二)
  • Shell编程(二):正则表达式
  • 至真科技西安分公司正式成立,赋能点金石业务增长新篇章!
  • 基于Spring Authorization Server的OAuth2与OpenID Connect统一认证授权框架深度解析
  • Linux -- 进程间通信【System V共享内存】
  • 基于llama.cpp在CPU环境部署Qwen3
  • JimuReport 积木报表 v2.1.3 版本发布,免费开源的可视化报表和大屏
  • 【Linux手册】Unix/Linux 信号:原理、触发与响应机制实战
  • 开源 C# .net mvc 开发(九)websocket--服务器与客户端的实时通信
  • Unity:XML笔记
  • 【基础】Three.js中如何添加阴影(附案例代码)
  • 基于SpringBoot的运动服装销售系统【2026最新】
  • 大型语言模型微调 内容预告(69)
  • 剧本杀小程序系统开发:重塑社交娱乐新生态
  • Trae x MCP:一键打造品牌专属高质量SVG封面
  • apipost 8.x 脚本循环调用接口
  • 9月1日
  • WhatsApp 漏洞与 Apple 零日漏洞一起被利用于间谍软件攻击
  • LangChain VectorStores核心:多向量数据库统一交互层与RAG存储中枢
  • 深度学习——速问速答
  • Java视觉跟踪入门:使用OpenCV实现实时对象追踪
  • Vue2存量项目国际化改造踩坑
  • pyside6小项目:进制转换器
  • 《架构师手记:SpringCloud整合Nacos实战·一》
  • 2.MySQL库的操作
  • Spark实现推荐系统中的相似度算法
  • 【LeetCode】19、删除链表的倒数第N个结点
  • P1803 凌乱的yyy / 线段覆盖
  • 802.11 和 802.1X