在維護專案中,有時會指定都一些條件進行過濾檔案,並對該批檔案進行操作;這時我們將使用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 目錄下的所有檔案中查詢字串,並且只列印出含...