#!/bin/bash -
#===============================================================================
#
# FILE: find-after-date-files.sh
#
# USAGE: ./find-after-date-files.sh 日期(20110101 or 2011-01-01 or 2011/01/01)
#
# DESCRIPTION: 從$AFTER_DATE到今天,將被修改過的檔案過濾出來
#
# OPTIONS: ---
# REQUIREMENTS: ---
# BUGS: ---
# NOTES: ---
# AUTHOR: Max Wu (),
# COMPANY: Open Source
# CREATED: 2011年07月21日 10時03分42秒 CST
# REVISION: 1.0
#===============================================================================
set -o nounset # Treat unset variables as an error
#將日期帶入
AFTER_DATE="$1"
#把指定的日期轉換成unix time
TIME1=`date --date="$AFTER_DATE" +%s`
#將今日日期轉換成unix time
TIME2=`date +%s`
#將兩個日期相減算出相差的天數
DAYS=`expr $TIME2 - $TIME1`
DAYS=`expr $DAYS / 60 / 60 / 24`
#將天數帶入,找出這些天來有被修改過的檔案
find -mtime -$DAYS -type f
如果有計算天數更好的算法,歡迎提供阿!!
這個Blog主要是以我個人的電腦的桌面環境(KDE)為主,大部份都是一些技術文件,也會有一些Server方面的文章,還有一些自己寫的Script,如果你也喜歡KDE、Script歡迎留言討論
2011年7月21日 星期四
找出從特定日期到今天有被修改過的檔案
今天朋友問我他想要找2011/01/01到今天有被修改過的檔案,該用什麼指令來找?我本來想用ls來寫,沒想到還真難寫,後來找到find指令有這個功能,但是要輸入天數,結果又寫了一個計算天數的程式,我才發現,linux居然沒有可以計算天數的指令?!只好自己寫了一個小script來用
訂閱:
張貼留言
(
Atom
)
沒有留言 :
張貼留言