• 🥇 版权: 本文由【墨理学AI】原创、在CSDN首发、感谢查阅
  • ❤️ 如果文章对你有帮助、欢迎一键三连
  • 🍖 早期博文,质量有限,敬请理解
  • shell 遍历文件夹内所有文件
function getdir(){
    echo $1
    for file in $1/*
    do
    if test -f $file
    then
        echo $file
        arr=(${arr[*]} $file)
    else
        getdir $file
    fi
    done
}
getdir /wls
echo ${arr[@]}

使用${} 提取字符串, 用于字符串的读取,提取和替换功能:

  • 1、提取文件名
 var=/dir1/dir2/file.txt
 echo ${var##*/}

file.txt

  • 2、提取后缀
echo ${var##*.}
txt
  • 3、提取不带后缀的文件名,分两步
tmp=${var##*/}
echo $tmp
file.txt
echo ${tmp%.*}
file
  • 4、提取目录
echo ${var%/*}
/dir1/dir2
 

使用文件目录的专有命令basename和dirname
1、提取文件名,注意:basename是一个命令,使用 ( ) , 而 不 是 (), 而不是 (),{}

echo $(basename $var)
file.txt

2、提取不带后缀的文件名

echo $(basename $var .txt)
file

3、提取目录

dirname $var
/dir1/dir2
echo $(dirname $var)
/dir1/dir2

9-6

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:1 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐