如何查找「Jul 30 04:37」創建的東西並將它們移動到/ tmp?蹊蹺:find-command:使用創建時間搜索
find . -ctime "0037043007" -exec mv {} /tmp +
如何查找「Jul 30 04:37」創建的東西並將它們移動到/ tmp?蹊蹺:find-command:使用創建時間搜索
find . -ctime "0037043007" -exec mv {} /tmp +
見GNU find手冊(和time input formats信息太)。
特別是,-newerct '30-Jul-2009 04:37'
選項似乎做你想要的大部分。
唯一的障礙是,手冊頁暗示它對於文件嚴格比給定時間更新。這表明,你需要使用的絕對時間:
1248957000 = 2009-07-30 05:30:00 (TZ = US/Pacific = UTC-07:00)
-newerct @1248957000
這仍然留下的如何應對比語義嚴格更大的問題。
-newerct @1248956999 -a ! -newerct @1248957001
這工作,但毫無疑問是雜亂(和假設你有工具,以獲得從一個日期/時間值的Unix時間戳)。
您需要一個足夠新的版本find
才能正常工作(GNU findutils 4.4.2是最新版本)。
for file in $(ls -lR | grep "Jul 14" | awk '{print $9}')
do
mv $file /tmp
done
請注意我的目標已更新。我知道這些文件,但我無法將它們與規範移動:創作時間。 – 2009-07-30 02:00:12
*具體創建時間,不小於或大於。 – 2009-07-30 02:00:45
我不知道爲什麼你使用的是 「exec {} +
」 語法...這樣如何:
find . -ctime "0037043007" -exec mv \{} /tmp/ \;
我在這裏打開了一個關於時間戳的新問題:http://stackoverflow.com/questions/1204669/easiest-way-to-generate-unix-timestamp。他們對我來說是新的。 – 2009-07-30 05:52:15