- 论坛徽章:
- 0
|
非常感谢大家的赐教,我这里总结一下,
方法1:
./torm.sh 20080908
torm.sh:
#!/bin/sh
for i in $(find $1 -type f -name "*.del"![](static/image/smiley/default/icon_wink.gif)
do
base=${i##*/}
base=${base##*_}
base=${base::8}
IF [ $base -lt $2 ] ; then rm $i ; fi
done
这种方法在linux上可以用,但是在unix上用不了,在base::8这里好像出错
方法2:
find . -type f -name '*.del' | awk -F_ '{if(substr($NF,1, <2008090 print "rm -rf "$0}' | sh这种方法可以用,但是我把它改成放在一个脚本rmShell.sh里
#!/bin/sh
temp=$2
echo "temp:"$temp
find $1 -type f| awk -F_ 'if(substr($NF,1, <temp)print "rm -rf "$0}' | sh
然后运行时用rmFile.sh [文件路径] 20080902 这样的方式运行,但是运行时还是有问题,就是substr($NF,1, <temp,这awk好像不能识别temp,请问大家一下,有什么好方法吗?
[ 本帖最后由 huangbt_unix 于 2008-9-11 12:51 编辑 ] |
|