shell求救:获取一个文件夹下的所有文件,判断其大小
我写的shell如下:
#!/bin/bash
for filename in `ls /test/src`
do
echo "entey 1"
fsize=$(ls -l $filename | cut -d '*.txt' -f 5)
echo $fsize
echo $filename
if [[ $fsize = 0 ]]; then
echo "too small"
fi
done
但是怎么也得不到想要的结果。运行时什么也不打印。
如果改为这样:
#!/bin/bash
filelist="/test/src"
for filename in $filelist
do
echo "entey 1"
fsize=$(ls -l $filename | cut -d '*.txt' -f 5)
echo $fsize
echo $filename
if [[ $fsize = 0 ]]; then
echo "too small"
fi
done
打印出的文件大小是0,文件名是/test/src
请问各位,要怎么改才能遍历文件,获取文件大小啊?
------解决方案--------------------ls | xargs du
------解决方案--------------------
ls -l|awk '{print $9,$5}'
行不?