CentOS 7系统使用basename命令剥离文件名后缀
在 CentOS 7 系统中,basename
是一个常用的命令行工具,用于提取文件或目录的基本名称,如果你想要剥离文件名的后缀,可以使用 basename
命令结合其他工具来实现。
让我们了解一下 basename
命令的基本用法。basename
命令用于返回文件或目录的基本名称,不包括路径,如果你有一个文件路径 /path/to/file.txt
,使用 basename /path/to/file.txt
将返回 file.txt
。
basename
命令本身并不提供剥离文件名后缀的功能,为了实现这个目的,我们可以结合使用其他命令行工具,如 sed
或 awk
。
以下是几种使用 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 系统中的文件名后缀,你可以根据自己的需求选择适合的方法,请注意,这些方法仅适用于处理文本文件名,不适用于处理二进制文件或其他非文本文件。
版权声明
本文仅代表作者观点,不代表米安网络立场。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。