shell获取目录下(包括子目录)所有文件名、路径、文件大小

时间:2021-12-23 12:17:47

一例shell脚本:
取得目录下(包括子目录)所有文件名、路径与文件大小。

代码,shell脚本: lsdir.sh

#!/bin/bash
#
#site: www.jquerycn.cn
function ergodic(){
  for file in `ls $1`
  do
    if [ -d $1"/"$file ]
    then
      ergodic $1"/"$file
    else
      local path=$1"/"$file 
      local name=$file      
      local size=`du --max-depth=1 $path|awk '{print $1}'` 
      echo $name  $size $path 
    fi
  done
}
IFS=$'\n' #这个必须要,否则会在文件名中有空格时出错
INIT_PATH=".";
ergodic $INIT_PATH