shell之文件路径截取

最近写脚本,需要对脚本中函数传递的路径参数进行截取,发现了以下比较好用的方法,记录下:

file=/dir1/dir2/dir3/my.file.txt

我们可以用${ }分别替换获得不同的值:

${file#*/}:拿掉第一条/及其左边的字串:dir1/dir2/dir3/my.file.txt

${file##*/}:拿掉最后一条/及其左边的字串:my.file.txt

${file#*.}:拿掉第一个.及其左边的字串:file.txt

${file##*.}:拿掉最后一个.及其左边的字串:txt

${file%/*}:拿掉最后条/及其右边的字串:/dir1/dir2/dir3

${file%%/*}:拿掉第一条/及其右边的字串:(空值)

${file%.*}:拿掉最后一个.及其右边的字串:/dir1/dir2/dir3/my.file

${file%%.*}:拿掉第一个.及其右边的字串:/dir1/dir2/dir3/my

引用地址:http://www.jb51.net/article/94355.htm

Original: https://www.cnblogs.com/lixiuran/p/12716023.html
Author: 风与叶子
Title: shell之文件路径截取

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/529729/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • NJU软件分析笔记(2)

    NJU Static Analysis Notes(2)——Data Flow Analysis Ⅰ 课程链接本次课程主要内容 Overview of Data Flow Anal…

    Linux 2023年6月8日
    0102
  • PyTorch介绍-构建神经网络

    神经网络由对数据进行操作的layers/modules组成。torch.nn 命名空间提供了所有你需要的构建块,用于构建你自己的神经网络。PyTorch的每一个module都继承自…

    Linux 2023年6月14日
    094
  • Linux常用命令总结

    Linux常用命令总结 关机 & 重启&注销 常用命令 作用 shutdown -h now 即刻关机 shutdown -h 5 5分钟后关机 shutdown …

    Linux 2023年6月7日
    097
  • MySQL实现 group_concat 排序

    MySQL支持实现group_concat() 内部自定义排序: 实例: 新建一张表 reward,表中数据如下: SQL: SELECT uid, GROUP_CONCAT(mo…

    Linux 2023年6月13日
    0110
  • WEB自动化-10-Page Object 模型

    10 Page Object 模型 10.1 概述 在针对一个WEB页面编写自动化测试用例时,需要引用页面中的元素( 数据)才能进行操作( 动作)并显示出页面内容。如果编写的测试用…

    Linux 2023年6月7日
    076
  • Java秒杀系统三:web层

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月11日
    096
  • 【原创】Linux虚拟化KVM-Qemu分析(十一)之virtqueue

    背景 Read the fucking source code! –By 鲁迅 A picture is worth a thousand words. –…

    Linux 2023年6月8日
    081
  • 数据结构和算法的关系

    针对Python数据结构与算法(裘宗燕版)中的第一章绪论最后的问题 数据结构 概念 数据与数据之间的结构关系(数组、队列、树、图等结构) 类别 分为 逻辑数据结构和 存储数据结构两…

    Linux 2023年6月7日
    0117
  • redis如何设置密码

    密码设置这里简单介绍一下redis如何设置密码redis密码设置有两种方式,一种需要重启redis服务,一种不需要重启redis服务。 首先,介绍一下需要重启redis服务的设置方…

    Linux 2023年5月28日
    096
  • SPRINGBOOT(38)整合(9)redis

    博客园 :当前访问的博文已被密码保护 请输入阅读密码: Original: https://www.cnblogs.com/qiu-hua/p/16552545.htmlAutho…

    Linux 2023年5月28日
    092
  • 51单片机入门基础介绍

    基本元器件原理及功能 常用元器件 CAP 电容RES 电阻CRYSTAL 晶振7SEG 数码管sounder 蜂鸣器BUTTONLED-BIBY 二极管PN结,P阳极N阴极,电流方…

    Linux 2023年6月7日
    087
  • 附031.Kubernetes_v1.20.4高可用部署架构二

    kubeadm介绍 kubeadm概述 参考附003.Kubeadm部署Kubernetes。 kubeadm功能 参考附003.Kubeadm部署Kubernetes。 本方案描…

    Linux 2023年6月13日
    080
  • K8s-小型综合实验(k8s+keeplived+nginx+iptables)

    K8S小型综合实验(k8s+keeplived+nginx+iptables) 实验目的 1.Kubernetes 区域可采用 Kubeadm 方式进行安装。 2.要求在 Kube…

    Linux 2023年6月13日
    0103
  • 内存分配-slab分配器

    1 slab综述 1.1 slab分配器产生的背景 类似 task_struct mm_struct 等结构被内核中被频繁分配和释放,同时创建和销毁这些结构会产生一定的开销(ove…

    Linux 2023年6月7日
    079
  • Git的常见命令

    Git 一、git环境安装 1.初始化本地仓库: git init 2.将本地仓库跟远程仓库建立连接:git remote add name path ​ git clone pa…

    Linux 2023年6月7日
    081
  • PHP使用pdfparser实现对PDF转换成本文

    使用pdfparser对PDF转换成文本形式,转换后没有格式。 原始PDF: 转换成文本: 第一步:安装pdfparser composer require smalot/pdfp…

    Linux 2023年6月7日
    0115
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球