#!/bin/bash

#Description: delete files

#=====定义当前年份,月份以及文件所在目录=====#

currentYear=`date +%Y`

currentMonth=`date  +%m |awk -F'0' '{print $2}'`

videodir=/var/video

#======定义一个转换函数,用于将月份缩写转换为数字表示========#

function month2num(){

case $file_month in

Jan)

file_month=1

;;

Feb)

file_month=2

;;

Mar)

file_month=3

;;

Apr)

file_month=4

;;

May)

file_month=5

;;

Jun)

file_month=6

;;

Jul)

file_month=7

;;

Aug)

file_month=8

;;

Sep)

file_month=9

;;

Oct)

file_month=10

;;

Nov)

file_month=11

;;

Dec)

file_month=12

;;

*)

echo "Oh,Are you kidding me?!"

exit 1

;;

esac

}

#=====定义上一年年份以及上一年的所有文件列表=====#

lastYear=$[$currentYear-1]

lastYearFiles=`/bin/ls -l $videodir/ |grep $lastYear |awk -F' ' '{print $9}'`

#===== 删除上一年的文件,今天为2013年5月,则删除2012年5月之前的所有文件(1-4月)=====#

for lastfile in `echo $lastYearFiles`

do

file_month=`/bin/ls -l $videodir/$lastfile  |awk  -F' ' '{print $6}'`

month2num

if [ $file_month -lt $currentMonth ]

then

rm -rf $videodir/$lastfile

fi

done

#=====删除非上一年以及非今年的所有文件=====#

otherYearFiles=`/bin/ls -l $videodir/ |grep -v $lastYear |awk -F' ' '{print $9}'`

for otherfile in `echo $otherYearFiles`

do

file_year_format=`/bin/ls -l $videodir/$otherfile  |awk  -F' ' '{print $8}'|wc -c`

if [ $file_year_format -eq 5 ]

then

rm -rf $videodir/$otherfile

fi

done

linux移走一年前的文件,Shell脚本实现删除一年前文件功能分享相关推荐

  1. linux删除一年前的文件,Shell脚本实现删除一年前文件功能分享

    #!/bin/bash #description: delete files #=====定义当前年份,月份以及文件所在目录=====# currentyear=`date +%y` currentm ...

  2. linux配置定时删除日志文件,Linux使用shell脚本定时删除历史日志文件

    Linux使用shell脚本定时删除历史日志文件,文件,小时,时间,目录,脚本 Linux使用shell脚本定时删除历史日志文件 易采站长站,站长之家为您整理了Linux使用shell脚本定时删除历史 ...

  3. linux删除除某个文件外的其它文件,shell脚本:删除当前目录下除了某几个文件之外的其他文件...

    有时会有这种特别的需要,就是删除当前目录下的所有文件,除了几个特别指定的文件. 一个特别的应用是:在使用VASP进行计算的时候,常常想要保留4个输入文件,删除剩余的文件. 如果没有一个特殊的脚本,那就 ...

  4. linux shell脚本自动批量解压文件

    单个文件解压很简单,批量不确定目录的压缩包呢?解压到原路径?解压后删除原压缩包?本脚本可一键解决以上所有问题 linux shell脚本自动批量解压文件 脚本免费下载地址: 传送门https://do ...

  5. linux shell 获取表,bash - 如何获取shell脚本中目录中的文件列表?

    bash - 如何获取shell脚本中目录中的文件列表? 我试图使用shell脚本获取目录的内容. 我的脚本是: for entry in `ls $search_dir`; do echo $ent ...

  6. linux shell rsync,linux – 如何在我的下面的shell脚本中使用rsync而不是scp来复制文件?...

    我正在使用scp并行使用GNU并行复制文件与我的下面的 shell脚本,它工作正常. 我不知道如何在下面的shell脚本中使用rsync代替scp.我试图看看rsync与传输速度方面的scp相比是否会 ...

  7. linux网卡O I流量查询,查看linux server网络I/0流量的shell脚本

    查看linux server网络流量的shell脚本 上传下载大量文件的时候,可以使用这个脚本来实现监控!#!/bin/sh ###统计5s内的平均流量,以Mb为单位 if [ "$1&qu ...

  8. crontab里shell脚本将top信息写入文件

    crontab里shell脚本将top信息写入文件: 注: 1.top -n 1代表执行1次退出(默认top是不退出的),-d 1代表每1秒执行1次 2.crontab里需加/bin/bash # c ...

  9. linux脚本调用db2存储过程,LINUX定时执行含有DB2存储过程的SHELL脚本

    <LINUX定时执行含有DB2存储过程的SHELL脚本>由会员分享,可在线阅读,更多相关<LINUX定时执行含有DB2存储过程的SHELL脚本(6页珍藏版)>请在人人文库网上搜 ...

最新文章

  1. 3、计算机图形学——模型视图变换、投影变换与视口变换
  2. Vue2.0 + ElementUI 手写权限管理系统后台模板(一)——简述
  3. Pyomo+GLPK使用
  4. java回退一格_api短信接口
  5. 于敦德:途牛五大战略纵深不惧同质化竞争
  6. HttpRunner自动化框架学习笔记
  7. Oracle中的Round和Trunc
  8. 添加时,时间格式明明和数据库格式一样,却一直在报错,存不进去
  9. 线上MySQL某个历史数据表的分区笔记
  10. MFC中App、Doc、MainFrame、View各指针的互相获取
  11. Gbase相关学习总结
  12. [我给Unity官方视频教程做中文字幕]beginner Graphics – Lessons系列之灯光介绍Lights...
  13. Golang1.71.3下载以及安装(Linux Mac Windows)
  14. 5.3LNA的拓扑结构
  15. 服务器上的VGA切换原理,浅谈笔记本中VGA信号切换的原理
  16. 电商平台10大商业与盈利模式
  17. 谷歌地图 经纬加密_Google开始加密搜索
  18. 注册表右键添加打开选项
  19. 重写虫虫项目犯的低级错误
  20. react等 一些视频学习网址

热门文章

  1. VMRC控制台的连接已断开..正在尝试重新连接
  2. 使用remoting远程控制编译机
  3. java 底层方法_底层方法测试--【Java】
  4. php exec 怎么确定执行成功_php执行系统外部命令的4种方法
  5. 远程桌面计算机让输入密码,解决Windows远程桌面连接每次都提示输入密码的问题...
  6. 无穷级数求和7个公式_考研数学闭关修炼习题讲解(16)无穷级数 附(6)补充解释
  7. php 自定义属性,HTML5的data-*自定义属性是什么-
  8. vuejs和html语言一样么,vue和vue.js有区别吗?
  9. linux apache无法启动,linux mysq 无法启动 apache 无法启动
  10. PcGAN:一种用于一次学习的噪声鲁棒条件生成对抗网络∗