怎么在Linux中查找目錄中按時間過濾的文件?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
創新互聯自2013年起,先為封丘等服務建站,封丘等地企業,進行企業商務咨詢服務。為封丘企業網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。在維護項目中,有時會指定都一些條件進行過濾文件,并對該批文件進行操作;這時我們將使用shell命令進行操作;直接上代碼
#!/bin/sh #BEGIN #`find ./ ! -name "." -type d -prune -o -newermt '2001-01-01 00:00:00' ! -newermt '2019-01-01 00:00:00'`忽略所有的子目錄 files=`find ./ -path "./2*" -prune -o -type f -newermt '2001-01-01 00:00:00' ! -newermt '2019-01-01 00:00:00'` for i in $files do if [ -f $i ];then echo $i >> grepfiles.txt fi done #END
該程序將會獲得該目錄下忽略子目錄(以2開頭的目錄)的所有2001-01-01 00:00:00到2019-01-01 00:00:00的所有文件,并輸入到grepfiles.txt的文件中。
如需要獲取所有的目錄包括子目錄下的文件,則
#!/bin/sh #BEGIN files=`find ./ -type f -newermt '2001-01-01 00:00:00' ! -newermt '2019-01-01 00:00:00'` for i in $files do #-f指的時文件,-d則代表目錄 if [ -f $i ];then echo $i >> grepfiles.txt fi done #END
轉)find命令原理:從指定的起始目錄開始,遞歸地搜索其各個子目錄,查找滿足尋找條件的文件,并可以對其進行相關的操作。
格式:find [查找目錄] [參數] [匹配模型]
多參數格式:find [查找目錄] [參數] [匹配模型] [參數] [匹配模型]
例如:
1、find . -name "*.sh"
查找在當前目錄(及子目錄)下找以sh結尾的文件。
2、find . -perm 755
查找在當前目錄(及子目錄)下找屬性為755的文件。
3、find -user root
查找在當前目錄(及子目錄)下找屬主為root的文件。
4、find /var -mtime -5
查找在/var下找更改時間在5天以內的文件。
5、find /var -mtime +3
查找在/var下找更改時間在3天以前的文件。
6、find /etc -type l
查找在/etc下查找文件類型為|的鏈接文件。
7、find . -size +1000000c
查找在當前目錄(及子目錄)下查找文件大小大于1M的文件,1M是1000000個字節。
8、find . -perm 700 |xargs chmod 777
查找出當前目錄(及子目錄)下所有權限為700的文件,并把其權限重設為777。
9、find . -type f |xargs ls -l
查找出文件并查看其詳細信息。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創新互聯行業資訊頻道,感謝您對創新互聯網站建設公司,的支持。
分享標題:怎么在Linux中查找目錄中按時間過濾的文件-創新互聯
本文網址:http://vcdvsql.cn/article22/cdgdcc.html
成都網站建設公司_創新互聯,為您提供面包屑導航、ChatGPT、微信公眾號、靜態網站、建站公司、網站設計
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯