1、查询30天前的日志文件并删除
find /g2ihslog/xmlgen/ -mtime +30 –exec rm {} \;
通过文件名中包含的日期查询:
#文件中包含的日期字符串
DEL_DAY=`date -I -d '-30 day'`"-00"
#日志文件夹
logdir="/g2ihslog/*/"
#遍历文件夹下的文件
for n in `ls $logdir` ; do
#取出文件名中的日期
file_dt=`echo $n | awk -F "." '{print $3}'`
#若日期为30天前,则删除
if [[ -n "$file_dt" && "$file_dt" < "$DEL_DAY" ]];then
rm -f $n
fi;
done
2、读取文件,对每一行进行处理
linux shell逐行处理文本的12种方法
方法1、cat $filename|while read line
例如:
function while_read_line
{ cat $filename|while read line
do
echo "$line"
: