- 论坛徽章:
- 0
|
在线等!如何用实现把创建文件的时间读取为”MMDDhhmm"格式
上午没找出空来,不好意思
- $ls -l
- total 6
- -rw-r--r-- 1 tmn tmn 34 Apr 29 14:33 a1.txt
- -rw-r--r-- 1 tmn tmn 34 Apr 29 15:02 a2.txt
- -rwxr-xr-x 1 tmn tmn 833 Apr 29 14:59 datealarm.sh
- $cat a1.txt
- 12313 200504271329 31252543656457
- $cat a2.txt
- 12313 200504291329 31252543656457
- $cat datealarm.sh
- #!/bin/ksh
- #made by sunyin at Fri Apr 29 14:33:46 CST 2005
- #set -vx
- set -a
- get_before_days()
- {
- str=$1
- days=$2
- yy=`echo $str|cut -c 1-4`
- mm=`echo $str|cut -c 5-6`
- dd=`echo $str|cut -c 7-8`
- sav_dd=$days
- days=`expr $days - $dd`
- while [ $days -ge 0 ]
- do
- mm=`expr $mm - 1`
- [ $mm -eq 0 ] && mm=12 && yy=`expr $yy - 1`
- aaa=`cal $mm $yy`
- bbb=`echo $aaa|awk '{print $NF}'`
- days=`expr $days - $bbb`
- done
- dd=`expr 0 - $days`
- expr $dd : "^.$" > /dev/null && dd=0$dd
- expr $mm : "^.$" > /dev/null && mm=0$mm
- echo $yy$mm$dd
- }
- for i in $(ls !($0))
- do
- contentdate=$(awk '{print substr($2,1,8)}' $i)
- compdate=$(get_before_days $contentdate -1)
- comptime=$(awk '{print substr($2,9,12)}' $i)
- touch -t $compdate$comptime tmp
- if [[ "$i" -nt "tmp" ]]
- then echo $i alarm
- else echo $i ok
- fi
- done
- rm tmp
- $datealarm.sh
- a1.txt alarm
- a2.txt ok
复制代码 执行无任何要求,solaris8下测试通过 |
|