CentOS 7系统使用basename命令剥离文件名后缀

0 108
在 CentOS 7 系统中,basename 是一个常用的命令行工具,用于提取文件或目录的基本名称,如果你想要剥离文件名的后缀,可以使用 basename 命...

在 CentOS 7 系统中,basename 是一个常用的命令行工具,用于提取文件或目录的基本名称,如果你想要剥离文件名的后缀,可以使用 basename 命令结合其他工具来实现。

让我们了解一下 basename 命令的基本用法。basename 命令用于返回文件或目录的基本名称,不包括路径,如果你有一个文件路径 /path/to/file.txt,使用 basename /path/to/file.txt 将返回 file.txt

basename 命令本身并不提供剥离文件名后缀的功能,为了实现这个目的,我们可以结合使用其他命令行工具,如 sedawk

以下是几种使用 basename 剥离文件名后缀的方法:

1、使用 sed 命令:

basename /path/to/file.txt | sed 's/\.[^.]*$//'

这个命令将输出 file,剥离了文件名后缀 .txt

2、使用 awk 命令:

basename /path/to/file.txt | awk '{gsub(/\.[^.]+$/, ""); print}'

这个命令同样将输出 file,通过 gsub 函数替换掉文件名后缀部分。

3、使用参数扩展(Parameter Expansion):

在 Bash shell 中,你可以使用参数扩展来剥离文件名后缀。

basefile=$(basename /path/to/file.txt)
echo "${basefile%.*}"

这个脚本将输出 file,通过 ${basefile%.*} 表达式剥离了文件名后缀。

4、使用 bash 内置的字符串操作:

如果你只需要在 Bash shell 中进行操作,可以使用字符串操作来剥离文件名后缀:

basefile="/path/to/file.txt"
filename=$(basename "$basefile")
extension="${filename##*.}"
echo "${filename%.*}"

这个脚本将输出 file,通过 ${filename%.*} 表达式剥离了文件名后缀,它还使用了 ${filename##*.} 表达式来获取文件名的后缀部分。

这些方法都可以用来剥离 CentOS 7 系统中的文件名后缀,你可以根据自己的需求选择适合的方法,请注意,这些方法仅适用于处理文本文件名,不适用于处理二进制文件或其他非文本文件。

最后修改时间:
文章相关标签:
优质vps
上一篇 2024年01月02日 20:07
下一篇 2024年01月02日 20:20

评论已关闭