读书人

Unix 操作 shell编写,该怎么处理

发布时间: 2012-02-28 13:06:34 作者: rapoo

Unix 操作 shell编写
需求如下:
/tmp路径下有以下log文件
ID111.20111001143025
ID112.20111001143225
ID111.20111001143526
ID113.20111001144001
ID114.20111001142925
ID114.20111001143710
... ...

想要把相同ID的log文件只保留最新的,其他的全部删除。

shell脚本写到一半就不会写了,求教~~

----------------------------------
#!/usr/bin/ksh
find -name "ID*"|sort|while read file
do
#这里怎么循环就不太会写了... ...
done



希望各位大侠能给点指导和建议。


[解决办法]

C/C++ code
#!/bin/bashpreName=""ls ID* | sort | while read fileNamedo        preID=${preName/%.*/};        curID=${fileName/%.*/};        if [ "$preName" != "" -a "$preID" = "$curID" ];then                rm $preName;                echo "rm ${preName}.........";        fi        preName=$fileNamedone
[解决办法]
探讨
记录一个preName就可以了,如果file==preName,那么删除preName。

读书人网 >UNIXLINUX

热点推荐