Linux shell 提取文件名和目录名 复制文件名

${}用于字符串的读取,提取和替换功能,可以使用${} 提取字符串
1、提取文件名
[root@localhost log]# var=/dir1/dir2/file.txt
[root@localhost log]# echo ${var##*/}
file.txt
2、提取后缀
[root@localhost log]# echo ${var##*.}
txt
3、提取不带后缀的文件名,分两步
[root@localhost log]# tmp=${var##*/}
[root@localhost log]# echo $tmp
file.txt
[root@localhost log]# echo ${tmp%.*}
file
4、提取目录
[root@localhost log]# echo ${var%/*}
/dir1/dir2
使用文件目录的专有命令basename和dirname
1、提取文件名,注意:basename是一个命令,使用$(), 而不是${}
[root@localhost log]# echo $(basename $var)
file.txt
2、提取不带后缀的文件名
[root@localhost log]# echo $(basename $var .txt)
file
3、提取目录
[root@localhost log]# dirname $var
/dir1/dir2
[root@localhost log]# echo $(dirname $var)
/dir1/dir2
(0)

相关推荐

  • Linux 文件和目录操作命令(一)

    Linux 文件和目录操作命令(一)

  • 【Linux 笔记】Linux 基本操作 - 02. shell编程基础

    笔记接上篇[Linux 笔记]Linux 基本操作 - 01. 系统认知-文本处理-软件安装-环境变量.笔记大部分源于生信技能树的B站视频教程[生信技能树]生信人应该这样学linux(更新至第14集) ...

  • Linux 日志审计

    阅读目录 一)生产环境日志审计解决方案: 二)配置sudo日志审计 工作中我们常常遇到,有的员工不安于被分配的权限,老是想sudo echo "ziji" /usr/bin/vis ...

  • Linux 应急响应入门——入侵排查

    简书:https://www.jianshu.com/p/afc845cf9cc9 账号安全:1.用户信息文件 /etc/passwd# 格式:account:password:UID:GID:GEC ...

  • 提取多层文件夹内文件名并建立超链接

    Sub AutoAddLink() Dim strFldPath As String With Application.FileDialog(msoFileDialogFolderPicker) '用 ...

  • 【Excel技巧篇】快速提取文件夹下所有文件名

    本文由两部分构成,[批量提取指定文件夹下文件名]以及[批量文件重命名].嗯~简易操作~不涉及VBA编程~ 批量提取指定文件夹下文件名 操作动画如下: 如动画所示,先定义一个名称. 名称为文件夹,引用位 ...

  • 提取指定文件夹下文件名,然后换上新名称

    本文由两部分构成,[批量提取指定文件夹下文件名]以及[批量文件重命名].嗯~简易操作~不涉及VBA编程~ 1,批量提取指定文件夹下文件名 我们举个例子,先看个小动画: 如动画所示,先定义一个名称. 名 ...

  • 如何批量提取文件夹里的文件名

    想要实现批量提取文件名这个功能去请教别人,vbs高手说写一个程序就行了;excel高手说编一个函数或者宏定义就OK.拜托,我只是要提取文件名而已,函数编程现学来不及,难道真的只能复制粘贴?不用怕,很简 ...

  • 动态提取文件夹内的文件名

    如下图所示,在"测试"文件夹内,包含有两个Word文件和子文件夹"测试2",在"测试2"文件夹内有Excel文档和另外一个子文件夹. 咱们看 ...

  • 一键搞定批量复制文件名、文件路径

    问题情景 在实际办公时,需要用电脑复制许多文件名和完整的文件路径,一个一个的复制,浪费时间,效率也低,想要提高工作效率,可以进行批量复制文件名和完整的文件路径,那具体怎么做呢?那今天我们就随刘群老师的 ...

  • Linux Shell 文本处理工具

    阅读目录 定制搜索 找到后的后续动作 -print的定界符 xargs参数说明 print 打印当前行 特殊变量:NR NF $0 $1 $2 传递外部变量 用样式对awk处理的行进行过滤 设置定界符 ...

  • Linux Shell脚本实现根据进程名杀死进程

    #!/bin/sh#根据进程名杀死进程if [ $# -lt 1 ]then echo "缺少参数:procedure_name" exit 1fi PROCESS=`ps -ef ...

  • Linux Shell 计算脚本执行过程用了多长时间

    #!/bin/bash starttime=`date +'%Y-%m-%d %H:%M:%S'` #执行程序 endtime=`date +'%Y-%m-%d %H:%M:%S'` start_se ...