📜  bash 获取文件名 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:39:29.454000             🧑  作者: Mango

Bash 获取文件名 - Shell-Bash

在Shell脚本中获取文件名是非常常见的。下面介绍几种在Bash中获取文件名的方法,分别是${}, basename, dirname, 和awk。

首先,定义一个sample.txt的文件:

$ touch sample.txt
Using ${} to get file name

使用${}可以获取文件名。下面的代码片段展示了如何使用${}来获取文件名:

#!/bin/bash

filename="sample.txt"
extension="${filename##*.}"
filename="${filename%.*}"

echo $filename
echo $extension

输出结果:

sample
txt
Using basename to get file name

使用basename来获取文件名。下面的代码片段展示了如何使用basename:

#!/bin/bash

filepath="~/Desktop/sample.txt"
filename=$(basename "$filepath")

echo $filename

输出结果:

sample.txt
Using dirname to get file name

使用dirname来获取文件名。下面的代码片段展示了如何使用dirname:

#!/bin/bash

filepath="~/Desktop/sample.txt"
directory=$(dirname "$filepath")

echo $directory

输出结果:

~/Desktop
Using awk to get file name

使用awk来获取文件名。下面的代码片段展示了如何使用awk:

#!/bin/bash

filepath="~/Desktop/sample.txt"
filename=$(echo "$filepath" | awk -F/ '{print $NF}')

echo $filename

输出结果:

sample.txt

以上就是几种在Bash中获取文件名的方法。不同场景下选择不同的方法可以帮助我们更好地处理文件。