当我们需要对文件进行操作时,我们通常需要知道文件名和目录名。在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技术站