问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

CentOS下玩转basename命令

创作时间:
作者:
@小白创作中心

CentOS下玩转basename命令

引用
CSDN
8
来源
1.
https://blog.csdn.net/Jerry_1126/article/details/79872110
2.
https://blog.csdn.net/u012964600/article/details/135056030
3.
https://www.geeksforgeeks.org/basename-command-in-linux-with-examples/
4.
https://man7.org/linux/man-pages/man3/basename.3.html
5.
https://linuxize.com/post/basename-command-in-linux/#using-the-basename-command
6.
https://www.linuxprobe.com/basename-cmd-example.html
7.
https://www.baeldung.com/linux/basename-guide
8.
https://linuxize.com/post/basename-command-in-linux/

在CentOS系统中,basename命令是一个非常实用的工具,主要用于从文件路径中提取文件名并去除目录信息和后缀。无论是处理单个文件还是多个文件,这个命令都能帮助你高效完成任务。下面将详细介绍basename命令的使用方法和实际应用。

基本用法

basename命令的基本语法如下:

basename NAME [SUFFIX]
  • NAME:文件或目录的路径
  • SUFFIX:可选参数,用于移除文件名末尾的指定后缀

提取文件名

最基本的用法是从完整路径中提取文件名:

$ basename /path/to/file.txt
file.txt

删除指定后缀

如果需要去除文件的后缀,可以使用第二个参数:

$ basename /path/to/file.txt .txt
file

多文件处理

当需要处理多个文件时,可以使用-a选项:

$ basename -a /path/to/file1.txt /path/to/file2.md
file1.txt
file2.md

特殊情况处理

路径结尾斜杠

如果路径以/结尾,basename会返回空字符串:

$ basename /path/to/directory/

多后缀处理

对于带有多个后缀的文件名,需要多次调用basename

$ basename /path/to/file.tar.gz .gz
file.tar
$ basename /path/to/file.tar .tar
file

实际应用案例

在shell脚本中,basename命令经常与dirname配合使用,用于处理文件路径和重命名操作。例如,将当前目录下所有.jpeg文件重命名为.jpg

for file in *.jpeg; do
    mv "$file" "$(basename "$file" .jpeg).jpg"
done

注意事项

  1. 默认安装basename命令在CentOS系统中默认已经安装,无需额外安装。
  2. 版本信息:可以通过--version选项查看命令版本。
  3. 空格处理:如果文件名包含空格,需要使用引号将路径括起来。

通过以上介绍,相信你已经掌握了basename命令的基本用法和应用场景。在日常的Linux系统操作中,这个小巧的命令一定能为你带来不少便利。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号