shell 提取文件名和目录名的方法实现

当我们需要对文件进行操作时,我们通常需要知道文件名和目录名。在shell脚本中,提取文件名和目录名是一项很常见的任务。下面是详细讲解“shell提取文件名和目录名的方法实现”的攻略:

1.提取文件名

我们可以使用基于参数替换的方法来提取文件名。具体方法如下:

  • 使用$去掉文件路径中最后一个‘/’之前的内容,保留最后一个‘/’之后的文件名部分即可。

例如:

$ filepath="/home/user1/test.txt"
$ echo ${filepath##*/}

输出:

test.txt

在上述示例中,使用${filepath##*/}可去掉filepath变量中最后一个'/'之前的内容,然后输出test.txt.

  • 使用 basename 命令提取文件名。

basename 命令用于去除目录路径,仅保留原文件名。例如:

$ filepath="/home/user1/test.txt"
$ basename $filepath

输出:

test.txt

在上述示例中,basename 命令可以输出 filepath 变量中的文件名,即test.txt。

2.提取目录名

我们可以使用基于参数替换的方法来提取目录名。具体方法如下:

  • 使用$去掉文件路径中最后一个‘/’之后的内容,保留最后一个‘/’之前的部分即可。

例如:

$ filepath="/home/user1/test.txt"
$ echo ${filepath%/*}

输出:

/home/user1

在上述示例中,使用 ${filepath%/*} 可以去除 filepath 变量中的最后一个'/'之后的内容,并输出 test 这个目录路径。

  • 使用 dirname 命令提取目录名

dirname 命令用于输出目录名,去除文件路径,仅保留原目录名。例如:

$ filepath="/home/user1/test.txt"
$ dirname $filepath

输出:

/home/user1

在上述示例中,dirname 命令可以输出 filepath 变量中的目录名,即 /home/user1。

通过上述两种方法,shell脚本中可以很方便地提取出文件名和目录名的信息。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:shell 提取文件名和目录名的方法实现 - Python技术站

(0)
上一篇 2023年6月26日
下一篇 2023年6月26日

相关文章

  • Ubuntu18.04下解决Qt出现qt.qpa.plugin:Could not load the Qt platform plugin “xcb“问题

    要解决Ubuntu18.04下出现“qt.qpa.plugin:Could not load the Qt platform plugin “xcb“问题”,主要是因为缺少libxcb-xinerama0这个库的支持,因此需要安装它来解决。 以下是详细的攻略: 问题描述 当在Ubuntu18.04上运行使用Qt的程序时,可能会遇到以下错误提示: qt.qpa…

    other 2023年6月26日
    00
  • cocosc/c++与lua的交互(上)

    cocosc/c++与lua的交互(上) Cocos2d-x是一个流行的跨平台游戏引擎,它支持使用C++和Lua进行游戏开发。在本攻略中,我们将详细讲解如何在Cocos2d-x中使用C++和Lua进行交互,并提供两个示例说明。 C++调用Lua函数 在Cocos2d-x中,我们可以使用C++调用Lua函数。首先,我们需要创建一个Lua虚拟机,并将需要调用的L…

    other 2023年5月8日
    00
  • python数组转json

    什么是JSON? JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于阅读和编写。JSON格式通常于Web用程序中,用于将数据从服务器发送到客户端。 Python数组转JSON 在Python中,可以使用json模块将数组转换为JSON。以下是将Python数组转换为JSON格式的步骤: 步骤1:导入json模块 …

    other 2023年5月7日
    00
  • C++面试基础之static关键字详解

    C++面试基础之static关键字详解 什么是static关键字 在C++中,static是一个关键字,用于表示类成员或者函数是静态的。静态成员是指属于类的成员,在类被加载时已经分配了内存,并不依赖于实例,而是共享内存的。静态成员被所有类的对象所共享,也可以通过类名直接访问。 static关键字的用法和作用 静态成员变量 声明静态成员变量时需要在前面加上st…

    other 2023年6月26日
    00
  • java简单读取properties配置文件的方法示例

    下面是关于“java简单读取properties配置文件的方法示例”的完整攻略: 什么是properties文件 在Java开发中,properties文件是一种常用的配置文件,通常用于存储一些应用程序运行时需要用到的配置信息,比如数据库连接信息、日志输出等等。properties文件是以键值对的形式存储数据,其中键和值之间以等号“=”分隔,每一行表示一个键…

    other 2023年6月25日
    00
  • 工信部备案网站的备用查询网址(IP)

    工信部备案网站的备用查询网址(IP)攻略 1. 简介 工信部备案网站是中国工业和信息化部(简称工信部)负责管理的一个网站,用于企业和个人进行备案申请和查询。然而,由于网络环境的不稳定性,有时候该网站可能无法正常访问。为了解决这个问题,可以通过备用查询网址(IP)来访问工信部备案网站。 2. 获取备用查询网址(IP) 要获取工信部备案网站的备用查询网址(IP)…

    other 2023年7月31日
    00
  • Linux服务器怎么修改密码 passwd命令用法

    下面是“Linux服务器怎么修改密码 passwd命令用法”的完整攻略。 简介 passwd命令是Linux服务器中用来修改密码的命令,它可以修改当前用户的密码,也可以修改其他用户的密码。passwd命令是一个重要的命令,因为它可以保障系统的安全性。 语法 passwd [选项] [用户] 其中,选项和用户均为可选。 选项包括: -a:将密码信息存储到指定文…

    other 2023年6月26日
    00
  • webpack简单学习的入门教程

    webpack简单学习的入门教程 简介 随着前端项目越来越复杂,JavaScript 文件也逐渐变得庞大而复杂。Webpack 是一个模块打包工具,可以将多个 JavaScript 文件打包成一个或多个的 bundle.js 文件。这不仅能提高页面加载速度,同时也能更好地管理我们的前端代码。 本文将介绍Webpack的基本概念和基础使用方法,帮助读者快速上手…

    其他 2023年3月28日
    00
合作推广
合作推广
分享本页
返回顶部