日期:2014-05-20  浏览次数:20681 次

linux下取某一目录下时间戳最大的文件?谢谢
某一目录如/home/下有一系列文件,如a09052011.txt,a08302011.txt,a09042011.txt等,文件命名规则为a+MMDDYYYY.txt,需要找出时间戳最大的文件,如本例a09052011.txt,谢谢

------解决方案--------------------
按照文件名排序
------解决方案--------------------
Java code
Comparator<File> comparator = new Comparator<File>(){
    public int compare(File file1, File file2){
        DateForamt formatter = new SimpleDateFormat("MMddyyyy");
        Date date1 = formatter.parse(file1.getName().substring(1));
        Date date2 = formatter.parse(file2.getName().substring(1));
        return date1.compareTo(date2);
    }
}

File file = new File("/home/");
File[] files = file.listFiles();
Arrays.sort(files,comparator);

------解决方案--------------------
探讨
Java code
Comparator<File> comparator = new Comparator<File>(){
public int compare(File file1, File file2){
DateForamt formatter = new SimpleDateFormat("MMddyyyy");
Date date1 ……

------解决方案--------------------
一条语句里不好搞,写个小perl脚本轻松就搞定了
------解决方案--------------------
ls -a | sort -r | head -n 1
------解决方案--------------------
ls -A1rt | tail -n 1