linux下如何根据文件大小来清除文件内容
LINUX下有文件ss.log,该文件不断的在自动写,我希望当改文件大于100M时候就使用:>ss.log来清空文件内容,这个要怎么来写?能否这样?(另其他回答我不是要删...
LINUX下有文件ss.log,该文件不断的在自动写,我希望当改文件大于100M时候就使用:>ss.log来清空文件内容,这个要怎么来写?
能否这样?(另其他回答我不是要删除文件,而是要清除内容)
size=`du ss.log|awk {print $1}`
if [ $size -gt 100000] then
echo " The file more than 100M,Do you want to truncate fire? Please answer yes or no."
read YES_OR_NO
if [ "$YES_OR_NO" = "yes" ]; then
`:>ss.log`
elif [ "$YES_OR_NO" = "no" ]; then
'tail -f ss.log'
else
echo "Sorry, $YES_OR_NO not recognized. Enter yes or no."
exit 1
done
fi 展开
能否这样?(另其他回答我不是要删除文件,而是要清除内容)
size=`du ss.log|awk {print $1}`
if [ $size -gt 100000] then
echo " The file more than 100M,Do you want to truncate fire? Please answer yes or no."
read YES_OR_NO
if [ "$YES_OR_NO" = "yes" ]; then
`:>ss.log`
elif [ "$YES_OR_NO" = "no" ]; then
'tail -f ss.log'
else
echo "Sorry, $YES_OR_NO not recognized. Enter yes or no."
exit 1
done
fi 展开
3个回答
展开全部
比如删除大于1000K的文件, find ./ -size +1000k -exec rm {} \;删除当前目录及其子目录的大于1000K的文件.其他类似.可以用man查一下,用man find |ps2pdf -d ->find.pdf 把man出来的页面转化为PDF,方便查看.find确实是个强大的工具.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
重定向吧~ 貌似Linux没有获取文件大小的函数吧,不太清楚
system("ls -l ss.log > file");
把文件的信息重定向到一个文件,然后读该文件, 解析第5个字符串就知道文件的大小了~
超过100*1024*1024就system("rm ss.log");
system("ls -l ss.log > file");
把文件的信息重定向到一个文件,然后读该文件, 解析第5个字符串就知道文件的大小了~
超过100*1024*1024就system("rm ss.log");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
size=`du ss.log|awk {print $1}`
if [ $size -gt 100000 ]
do
`>ss.log`
done
fi
if [ $size -gt 100000 ]
do
`>ss.log`
done
fi
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询