em sài fedora 11 viết một chương trình bash shell :
Viêt́ chương trình shell liêṭ kê cać tâp̣ tin trong thư muc̣ nhâp̣ có kích thước lớn hơn > 4KB theo dạng sau :
Tổng số tâp̣ tin
Tập tin 1 kích thước
.....
tập in n kích thước
Code:
#!/bin/bash
folder=$1
index=0
for file in $( find $folder -type f)
do
filesize=$( ls -l $file | awk '{print $5}')
echo "Process $file --$filesize"
if [ $filesize-gt$size ]; then
_fileName[$index]=$file
_filesize[$index]=$filesize
let "index=index+1"
fi
done
echo "so luong tap tin: $index"
for((i=0;i<index;i++))
do
echo -e "`basename ${_fileName[i]}` -- siz: ${_filesize[i]}"
done
exit 0
kết quả :chẳng biết chỗ so sánh -gt của em sai như thế nào mà mấy tập tin có kích thước nhỏ 143(<4096) mà nó vẫn hiện ra nữa .
Code:
[root@localhost shell]# ./dstaptin.sh
Process ./3.sh --143
Process ./1.sh --201
Process ./5.sh --129
Process ./2.sh --38
Process ./dstaptin.sh --411
so luong tap tin: 5
3.sh -- siz: 143
1.sh -- siz: 201
5.sh -- siz: 129
2.sh -- siz: 38
dstaptin.sh -- siz: 411
[root@localhost shell]#
Mong ai biết giúp với, cám ơn nhiều.