shell脚本实战(第2版)/人民邮电出版社 脚本18 显示目录内容

readablesize()
{
  if [ $1 -ge 1048576 ];then
	  echo "$(. scriptbc -p 2 $1/1048576)GB"
  elif [ $1 -ge 1024 ];then
	  echo "$(. scriptbc -p 2 $1/1024)GB"
  else
	  echo "${1}kB"
  fi
}

if [ $# -gt 1 ];then
	echo "Usage: $0 [dirname]" >&2
	exit 1
elif [ $# -eq 1 ];then
	cd "$@"
	if [ $? -ne 0 ];then
		exit 1
	fi
fi

for file in *
do
	if [ -d "$file" ];then
		size=$(ls "$file" | wc -l | sed 's/[^[:digit:]]//g')
		if [ $size -eq 1 ];then
			echo "$file ($size entry)|"
		else
			echo "$file ($size entries)|"
		fi
	else
		size="$(ls -sk "$file" | awk '{print $1}')"
		echo "$file ($(readablesize $size))|"
	fi
done|
	sed 's/ /^^^/g' | xargs  -n 2 | sed 's/\^\^\^/  /g'|awk -F\| '{printf "%-39s %-39s\n",$1,$2}'
exit 0

运行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值