linux下Shell编程:输出当前目录下所有文件,并输出文件总数和目录总数

2024-11-01 18:22:08
推荐回答(3个)
回答1:

#!/bin/sh

cd $1
file=`ls -a`
catlog=0
filenum=0

for loop in $file
do
if [ -d "$loop" ];then
catlog=`expr $catlog + 1`
else
filenum=`expr $filenum + 1`
echo "$loop"
fi
done

echo -e "the catlog number is $catlog"
echo -e "the catlog number is $filenum"

回答2:

du -a 输出 所有文件和目录的总和,du 输出 目录的总和,两者 相减 就是 文件总数。

回答3:

#!/bin/bash
ls
TOTAL_FILE=`ls | wc -l`
TOTAL_DIR=`ls -d */ | wc -l`

echo file $TOTAL_FILE
echo dir $(($TOTAL_FILE-$TOTAL_DIR))