Linux查詢目錄下的按時間過濾的檔案

2022-08-20 09:12:09 字數 2094 閱讀 2071

在維護專案中,有時會指定都一些條件進行過濾檔案,並對該批檔案進行操作;這時我們將使用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

doif [ -f $i ];then

echo $i >>grepfiles.txt

fidone

#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

fidone

#end

格式: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                         

查詢出檔案並檢視其詳細資訊。

查詢出檔案並檢視其詳細資訊。

Python 按時間順序讀取所選目錄下檔案

不是很複雜,但用的次數比較頻繁,作乙個記錄吧。import tkinter as tk from tkinter import filedialog import os defread folder 讀取資料夾下所有檔案 root tk.tk root.withdraw folderpath fil...

Linux的find命令查詢多級目錄下的某一類檔案

1.假設有這樣乙個目錄 data,子目錄下有 a b c 每個子目錄a b c 都有 format txt version 1 data date 2019 09 23 和 format txt version 1 data date 2019 09 24,這些目錄下面有zip和txt.zip兩種檔...

Linux下查詢目錄下的所有檔案是否包含某字串

很多時候,需要在某個資料夾下檢視所有的檔案是否包含某個字串,比如已知乙個變數名,但是不知道定義在哪個檔案裡,就可以搜一下。1 目錄下的所有檔案中查詢字串 find xargs grep ri class 其實,該命令列等價於 grep ri class 2 目錄下的所有檔案中查詢字串,並且只列印出含...