在bash中,如何获取路径中的文件名
时间:2019-04-29 03:17:51 来源:igfitidea点击:
bash中从给定的路径提取文件名或扩展名
basename命令用于从路径中提取文件名(包括后缀)。
[root@yunkai ~]# basename /bin/ls ls [root@yunkai ~]# basename /tmp/data.tar.gz data.tar.gz [root@yunkai ~]#
将输出存储在shell变量中:
out="$(basename /tmp/data.tar.gz)" echo "Filename is $out"
提取文件名(去掉后缀)
[root@yunkai ~]# basename /tmp/data.tar.gz .tar.gz data [root@yunkai ~]# basename /tmp/data.tar.gz .gz data.tar
如何在bash shell脚本中提取文件名和扩展名
example.sh
#!/bin/bash input="/etc/app/config.ini" # 提取 config.ini file_name="${input##*/}" # 获取后缀 .ini file_extension="${file_name##*.}" # 获取文件名 config file="${file_name%.*}" # 打印变量值 echo "文件完整路径: $input" echo "文件名(带后缀) : $file_name" echo "后缀: $file_extension" echo "文件名(无后缀): $file"