以 make 文件为例:

file=/usr/bin/make

[root@CentOs7]# echo ${file%*/}
/usr/bin/make [root@CentOs7]# echo ${file%%*/}
/usr/bin/make [root@CentOs7]# echo ${file%%/*} [root@CentOs7]# echo ${file%/*}
/usr/bin [root@CentOs7]# echo ${file#/*}
usr/bin/make [root@CentOs7]# echo ${file##/*} [root@CentOs7]# echo ${file##*/}
make [root@CentOs7]# echo ${file#*/}
usr/bin/make

  

file=/usr/share/man/man1/make.1.gz

[root@CentOs7]# echo ${file%*/}
/usr/share/man/man1/make.1.gz [root@CentOs7]# echo ${file%%*/}
/usr/share/man/man1/make.1.gz [root@CentOs7]# echo ${file%%/*} [root@CentOs7]# echo ${file%/*}
/usr/share/man/man1 [root@CentOs7]# echo ${file#/*}
usr/share/man/man1/make.1.gz [root@CentOs7]# echo ${file##/*} [root@CentOs7]# echo ${file##*/}
make.1.gz [root@CentOs7]# echo ${file#*/}
usr/share/man/man1/make.1.gz

  

Linux shell 获取路径、文件名、文件后缀的更多相关文章

  1. Linux Shell 批量更换文件名或后缀名

    把下列所有.c的文件名修改为.cc rename .c .cc *.c

  2. linux下怎样批量更改文件后缀名

    今天又有同学问linux下怎样批量更改文件后缀名,这个问题被别人问到三次了,所以这里给出几个解决方法 一.rename解决 1.  Ubuntu系统下 rename 's//.c//.h/'  ./* ...

  3. SpringBoot读取Linux服务器某路径下文件\读取项目Resource下文件

    // SpringBoot读取Linux服务器某路径下文件 public String messageToRouted() { File file = null; try { file = Resou ...

  4. linux shell获取show slave status方法

    linux shell获取show slave status方法<pre>#!/bin/basharray=($(mysql -u数据库账号 -p数据库密码 -e "show s ...

  5. bat 处理文件路径 (所在目录,文件名,文件后缀名,完整文件名,无后缀路径)

    echo off setlocal enabledelayedexpansion set "EXCEL_DIR=%cd%\excel" for /R %EXCEL_DIR% %%f ...

  6. Linux shell 之 提取文件名和目录名的一些方法

    很多时候在使用Linux的shell时,我们都需要对文件名或目录名进行处理,通常的操作是由路径中提取出文件名,从路径中提取出目录名,提取文件后缀名等等.例如,从路径/dir1/dir2/file.tx ...

  7. linux shell获取键盘输入

    linux shell从键盘获取输入 代码1: #!/bin/bash #提示“Input your choice:”,把用户的输入保存入变量choice_user中read -p "Inp ...

  8. linux shell 获取文件夹全文绝对路径

    在ls中列出文件的绝对路径 ls | sed "s:^:`pwd`/:" # 就是在每行记录的开头加上当前路径 ps: #在所有行之前/后加入某个字符串 sed 's/^/stri ...

  9. Linux shell 获取目录下时间最新的文件的文件名

    ls -lt /dirname/ | grep filename | head -n 1 |awk '{print $9}' 逐条解释: ls -lt /dirname/ 列出此目录下的所有文件并按照 ...

  10. 【操作系统作业—lab1】linux shell脚本 遍历目标文件夹和所有文件 | 包括特殊字符文件名的处理

    要求:写一个linux bash脚本来查看目标文件夹下所有的file和directory,并且打印出他们的绝对路径. 运行command:./myDir.sh  input_path  output_ ...

随机推荐

  1. 联邦GNN综述与经典算法介绍

    作者:京东科技 李杰 联邦学习和GNN都是当前AI领域的研究热点.联邦学习的多个参与方可以在不泄露原始数据的情况下,安全合规地联合训练业务模型,目前已在诸多领域取得了较好的结果.GNN在应对非欧数据结 ...

  2. SQLSERVER 临时表和表变量到底有什么区别?

    一:背景 1. 讲故事 今天和大家聊一套面试中经常被问到的高频题,对,就是 临时表 和 表变量 这俩玩意,如果有朋友在面试中回答的不好,可以尝试看下这篇能不能帮你成功迈过. 二:到底有什么区别 1. ...

  3. 配置文件、RDB、Jedis

    配置文件 # Note on units: when memory size is needed, it is possible to specify # it in the usual form o ...

  4. javaEE(常用API集合<Collection和Map>)

    javaEE 常用API Object类 public String toString() //打印地址 :类的全类名@内存地址 存在的意义:为了被子类去重写,以便于返回对象的内容信息,而不是地址信息 ...

  5. JZOJ 4366. 【GDKOI2016】项链

    \(\text{Problem}\) 给出一个项链,删去连续的一部分,使剩下的对称,且长度最长 \(\text{Analysis}\) 可以发现,剩下的合法项链一定是由两个回文串接起来(由对称性质可知 ...

  6. ubuntu 一键安装lnmp环境

    转载csdn: ubuntu 一键安装lnmp环境_手艺人小在的博客-CSDN博客 注意:采用编译安装方法,花费时间较长,这个只有稳定版的,没有高版本的. 转载vpsgo: Linux上一键安装LNM ...

  7. 问题集锦 ~ MySQL

    # 在存储过程中,变量赋值失败 declare parent text; select parent into Parent where id = 1; select Parent; 查询的字段不能和 ...

  8. 自定义StringByteLength

    using HKElectric.ESafety.Utilities; using System.ComponentModel.DataAnnotations; namespace HKElectri ...

  9. centos7端口转发工具rinetd

    1.下载软件 wget http://li.nux.ro/download/nux/misc/el7/x86_64/rinetd-0.62-9.el7.nux.x86_64.rpm 2.安装软件 yu ...

  10. 如何使用visual studio code的插件remote ssh远程操作virtual box虚拟机

    0 Remote-SSH是什么?为什么要用它? The Remote-SSH extension lets you use any remote machine with a SSH server a ...