歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Linux之根據時間段查詢目錄底下文件名

Linux之根據時間段查詢目錄底下文件名

日期:2017/3/1 10:22:11   编辑:Linux編程

Linux之根據時間段查詢目錄底下文件名

文件名如下:

  1. 1970_01_01_00_05_07_picture_000000231.jpg
  2. 1970_01_01_00_05_08_picture_000000232.jpg
  3. 1970_01_01_00_05_10_picture_000000233.jpg
  4. 1970_01_01_00_05_11_picture_000000234.jpg
  5. 1970_01_01_00_05_12_picture_000000235.jpg
  6. 1970_01_01_00_05_13_picture_000000236.jpg
  7. 1970_01_01_00_05_14_picture_000000237.jpg
  8. 1970_01_01_00_05_15_picture_000000238.jpg
  9. 1970_01_01_00_05_16_picture_000000239.jpg
  10. 1970_01_01_00_05_18_picture_000000240.jpg
  11. 1970_01_01_00_05_19_picture_000000241.jpg
  12. 1970_01_01_00_05_20_picture_000000242.jpg
  13. 1970_01_01_00_05_21_picture_000000243.jpg
  14. 1970_01_01_00_05_22_picture_000000244.jpg
  15. 1970_01_01_00_05_23_picture_000000245.jpg
  16. 1970_01_01_00_05_25_picture_000000246.jpg
  17. 1970_01_01_00_05_26_picture_000000247.jpg
  18. 1970_01_01_00_05_27_picture_000000248.jpg
  19. 1970_01_01_00_05_28_picture_000000249.jpg
  1. #include <QtCore/QCoreApplication>
  2. #include <sys/types.h>
  3. #include <dirent.h>
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. #include <vector>
  7. #include <iostream>
  8. #include <string>
  9. using namespace std;
  10. int main(int argc, char *argv[])
  11. {
  12. QCoreApplication a(argc, argv);
  13. string str2= "1970_01_01_00_45_01";
  14. string str1 = "1970_01_01_00_44_00";
  15. DIR* dp;
  16. struct dirent* dirp;
  17. if((dp = opendir("/mnt/picture")) == NULL )
  18. {
  19. printf( "Can not open\n\n ");
  20. }
  21. vector<string> vecPicname;
  22. bool flag1=false,flag2=false;
  23. while((dirp = readdir(dp)) != NULL )
  24. {
  25. if(dirp->d_name[0] =='.' )
  26. {
  27. continue;
  28. }
  29. printf( "%s\n ",dirp-> d_name);
  30. string strTemp = dirp-> d_name;
  31. strTemp = strTemp.substr(0,19);
  32. if(strTemp.compare(str1)>=0 &&strTemp.compare(str2)<=0)
  33. {
  34. cout<<"wyz---------"<<strTemp<<endl;
  35. vecPicname.push_back(dirp-> d_name);
  36. }
  37. if(strTemp.compare(str1) ==0)
  38. {
  39. flag1=true;
  40. }
  41. if(strTemp.compare(str2) ==0)
  42. {
  43. flag2=true;
  44. }
  45. if(flag1==true && flag2==true)
  46. {
  47. break;
  48. }
  49. }
  50. for(unsigned int i=0; i<vecPicname.size(); i++)
  51. {
  52. cout<<"wyz------"<<vecPicname[i]<<endl;
  53. }
  54. closedir(dp);
  55. return a.exec();
  56. }

結果查詢到在某時間段自己想要的文件名 ,及圖片

for(int i=0; i<100; i++) //刪除最早的抓拍圖片100張
{
system("rm -f /sddisk/picture/$(ls /sddisk/picture -rt | sed -n '1p')");
}

Copyright © Linux教程網 All Rights Reserved