日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Linux實現(xiàn)多條件匹配:兩個文件的高效查詢技巧(兩個文件多條件匹配linux)

在Linux系統(tǒng)中,文件的匹配查詢是一個經(jīng)常需要用到的操作。如果只是簡單地查找某個文件或某個目錄下的特定文件,使用一些基本的命令就可以滿足需求。但是當需要進行高效的多條件匹配時,簡單的命令可能就不太夠用了。在這種情況下,需要使用一些專門的技巧來實現(xiàn)更高效的查詢。

本文將介紹一種實現(xiàn)多條件匹配的方法,即使用兩個文件進行匹配。這個方法適用于需要查找滿足多個條件的文件的情況,比如查找同時滿足文件名、文件大小和文件類型等多個條件的文件。

方法概述

這個方法是通過比較兩個文件的內(nèi)容來實現(xiàn)的。之一個文件是一個列表文件,其中列出了需要匹配的條件,比如文件名、文件大小、文件類型等。第二個文件是需要進行匹配的文件列表,這個列表包含了所有需要進行查詢的文件。程序會逐一檢查第二個文件列表中的每個文件,看它是否滿足之一個文件列表中列出的所有條件。

如果一個文件滿足了所有條件,那么它就被認為是匹配成功的。程序會把匹配成功的文件加入到輸出文件列表中。輸出文件列表中列出了所有匹配成功的文件的路徑和文件名。

使用示例

下面是一個使用示例,假設我們需要查找滿足以下條件的文件:

– 文件名以“l(fā)og”結(jié)尾

– 文件大小在100KB以上

– 文件類型為普通文件

我們首先需要創(chuàng)建一個包含這些條件的文件列表文件,比如我們把這個文件命名為“conditions.txt”。文件內(nèi)容如下:

“`

name=log$

size=+100k

type=file

“`

然后我們需要創(chuàng)建一個需要進行匹配的文件列表文件。比如我們把這個文件命名為“filelist.txt”。這個文件包含了所有需要進行查詢的文件的路徑和文件名。文件內(nèi)容如下:

“`

/home/user/test/test.log

/home/user/test/test1.log

/home/user/test/test2.jpg

“`

現(xiàn)在我們可以使用下面的命令來進行查詢:

“`

find $(cat filelist.txt) -type f -print0 | xargs -0r grep -ilZf conditions.txt | xargs -0r printf ‘%s\n’

“`

這個命令的含義是:

– find $(cat filelist.txt) -type f -print0:根據(jù)“filelist.txt”中列出的文件路徑和文件名,查找所有類型為普通文件的文件,并將它們的路徑和文件名輸出到標準輸出。

– grep -ilZf conditions.txt:使用“conditions.txt”中列出的條件來匹配通過之一步查找到的文件??梢园堰@個步驟看作是“篩選”操作,只有滿足條件的文件才會被保留下來。

– xargs -0r printf ‘%s\n’:將通過第二步“篩選”得到的所有文件的路徑和文件名輸出到標準輸出。

通過這個命令,我們可以得到所有滿足條件的文件的路徑和文件名。

方法優(yōu)勢

這個方法相對于其他方法的優(yōu)勢在于它可以高效地實現(xiàn)多條件匹配。使用這個方法可以避免反復地使用一些簡單的命令進行搜索和篩選,從而提高查詢的效率。這個方法的另一個優(yōu)勢在于它可以輕松地組合不同的條件,滿足不同的查詢需求。

在Linux系統(tǒng)中,文件的匹配查詢是一個常見的操作。通過使用兩個文件來實現(xiàn)多條件匹配,可以高效地實現(xiàn)復雜的查詢需求。這個方法適用于需要查找滿足多個條件的文件的情況,比如查找同時滿足文件名、文件大小和文件類型等多個條件的文件。對于需要進行高效查詢的情況,這個方法是非常有用的。

成都網(wǎng)站建設公司-創(chuàng)新互聯(lián),建站經(jīng)驗豐富以策略為先導10多年以來專注數(shù)字化網(wǎng)站建設,提供企業(yè)網(wǎng)站建設,高端網(wǎng)站設計,響應式網(wǎng)站制作,設計師量身打造品牌風格,熱線:028-86922220

Linux三劍客(sed)-編輯匹配到的文本

sed編輯器是一行一行的處理文件,正在處理的內(nèi)容存放在模式空間(緩沖區(qū))中,處理完畢后按照選項的規(guī)定進行輸出或文件的修改。

sed主要用來自動編輯一個或多個文件;簡化歲斗文件的反復操作,用于非交互編譯文件。

可以使用一個簡單的數(shù)字,或是一個行號范圍

注意:p的動作是:打印匹配行。

1. 原始文件:

2. sed的默認動作

(1)sed的默認動作是打印文件中的所有行。

3. 打印特定行

(1)因為sed命令默認打印文件中所有行。所以第三行會被打印兩遍。那如何只打印第三行呢?使用【-n】命令,只打印匹配的行。

(2)使用【-n】命令,只打印匹配到的行

(3)打印行

(4)打印包含模式的行

(5)打印包含模式和指定行號之間的行

(6)包含模式和包含模式之間的行

(7)

{}執(zhí)行多個命令(command),使用;隔開。=是顯示文件行的行號。p是打印匹配行

(8)!取反操作

(9)q命令:之一個模式匹配完成后退出或立即退出,使用該命令打印前5行

(1)使用進行正則匹配

(2)其他的正則表達式

(1)打印出以#開頭的行,然后用!進行反選,則表示過濾掉以#開頭的行,不會過濾掉空格。

(2)匹配以#開頭的行,進行取反,則打印出非#開頭的行,然后其結(jié)果在對空格開頭的行進行取反。即

過濾掉以#開頭的行和以空格開頭的行。

{}表示在定位行執(zhí)行的命令組。

(3)sed支持對單個文件實現(xiàn)不同的操作,每個操作用-e參數(shù)。定位到執(zhí)行的行后,使用d命令,直接刪除匹配到的行。

需要注意的是,對源文件的添加要使用【-i】參數(shù)。

s:使用替換模式替換相應模式

(1)在匹配行前面替換字符,使用【s】命令。

(2)在所有行開頭替換元素【s】

(3)在所有行的末尾替換元素

(4)指定行,進行替換操作

(5)【&】符號代表的是匹配到的字符。在匹配到字符后,可以使用&代替。

(6)在匹配到行前面添加一行,使用【i】的命令

(7)在匹配行的后面添加一行,使用【a】命令

(8)當添加多行時,使用\n來轉(zhuǎn)義

(9)@代表的是【地址定界符】,一般由三個組成,坦雀散定讓氏界符可以是/,$,#等特殊字符,此命令表示,匹配特定字符的行進行替換。

(10)使用命令【g】修改全文中出現(xiàn)的匹配字符。

(11)若后面接數(shù)字之后在接g,表示匹配的行中,第幾次出現(xiàn)。就替換,2g表示替換行中第二次出現(xiàn)。

(1)刪除以非#號開頭的行,即顯示以#號開頭的行。

(2)刪除之一行

(3)刪除最后一行

(4)刪除指定的行區(qū)間

(5)刪除包含特定單詞的行

本文參考:

Linux下文件搜索、查找、查看命令

1、最強大的搜索命令:find 查找各種文件的命令 

2、在文件資料中查找文件:locate  

3、搜索命令所在的目錄及別名信息:which 

4、搜索命令所在的目錄及幫助文檔路徑:whereis

5、在文件中搜尋

字符串

匹配的行并輸出:grep

6、分頁顯示一個文件或任何輸出結(jié)果:more

7、分頁顯示一個文件并且可以回頭:less

8、指定顯示前多少行文件內(nèi)容:head

9、指定顯示文件后多少行內(nèi)容:tail

10、查看一個文件:cat

11、查看文件內(nèi)容多少字符多少行多少字節(jié):wc

12、排序文件內(nèi)容:sort

一、根據(jù) 文件或目錄名稱 搜索

find 【搜索目錄】【-name或者-iname】【搜索字符】:-name和-iname的區(qū)別一個區(qū)分大小寫,一個不區(qū)分大小寫

eg:在/etc 目錄下搜索名字為init的文件或目錄

①、find /etc -name init (精準搜索,名字必須為 init 才能搜索的到)

②、find /etc -iname init (精準搜索,名字必須為 init或者有字母大寫也能搜索的到)

③、find /etc -name *init (模糊搜索,以 init 結(jié)尾的文件或目錄名)

④、find /etc -name init??? (模糊搜索,? 表示單個字符,即搜索到 init___)

二、根據(jù) 文件大小 搜索

eg:在

根目錄

下查找大于 100M 的文件

find / -size +202300

這里 +n 表示大于,-n 表示小于,n 表示等于

1 數(shù)據(jù)塊 == 512 字節(jié) 0.5KB,也就是1KB等于2數(shù)據(jù)塊

100MB ==KB202300數(shù)據(jù)塊

三、根據(jù) 所有者和所屬組 搜索

①、在home目錄下查詢所屬組為 root 的文件

find /home -group root

②、在home目錄下查詢所有者為 root 的文件

find /home -user root

四、根據(jù) 時間屬性 搜索

find 【路徑】【選項】【時間】

選項有下面三種:-amin 訪問時間

cmin 文件屬性被更改

mmin 文件內(nèi)容被修改

時間:螞喚+n,-n,n分別表示超過n分鐘,n分鐘以內(nèi)和n分鐘

eg:在 /etc 目錄下查找5 分鐘內(nèi)被修改過屬性的文件和目錄

find /etc -cmin -5

五、根據(jù)

文件類型

或i節(jié)點 搜索

 -type 根據(jù)文件類型查找:

 f表示文件,d表示目錄,l表示軟鏈接

eg:查找 /home 目錄下文件類型是目錄的

find /home -type d

  -inum 根據(jù)i節(jié)點查找

eg:查找 /tmp 目錄下i節(jié)點為400342的文件或目錄

  find /tmp -inum

六、組轎爛合條件 搜索  

  這里有兩個參數(shù):

 ?、?、-a 表示兩個條件同時滿足(and)

  ②、-o 表示兩個條件滿足任意一個即可(or)

  范例:查找/etc目錄下大悶帆凱于80MB同時小于100MB的文件

  find /etc -size +a -size

語法:locate【文件名】 -i 不區(qū)分大小寫

注意:這里和 find 命令是有區(qū)別的,find是全盤檢索,而locate 是在文件資料庫中進行搜索。所以locate命令的執(zhí)行要比find命令執(zhí)行速度快很多。但是這里有個問題,文件資料庫是需要不斷更新的。我們新創(chuàng)建的文件如果不更新 文件資料庫,使用 locate 是查找不到的。

updatedb 手動更新資料庫,但是對于/tmp目錄下的新建文件,是更新不到文件資料庫的,因為/tmp目錄不屬于文件資料庫的收錄范圍。

eg:locate hcf

功能描述:搜索命令所在的目錄及別名信息

 語法:which【命令】

 eg:which ls

功能描述:搜索命令所在的目錄及幫助文檔路徑

 語法:whereis【命令】

 eg:whereis ls

功能描述:在文件中搜尋字符串匹配的行并輸出

 語法:grep -iv 【指定字符串】【文件】

i 不區(qū)分大小寫

v 排除指定字符串

 eg:查找 /root/install.log 文件中包含 mysql 字符串的行,并輸出

grep mysql /root/install.log

本搜索工具,根據(jù)用戶指定的模式,對目標文件逐行進行匹配檢查,打印匹配到的行

grep是在文件中搜索匹配的字符串,是在文件中進行內(nèi)容搜索,這個命令后面用到的比較多

描述:

分頁顯示一個文件或任何輸出結(jié)果

用于查看純文本文件(較長的)格式

格式:

more 文件

less 與 more 類似,但使用 less 可以隨意瀏覽文件,而 more 僅能向前移動,卻不能向后移動,而且 less 在查看之前不會加載整個文件。

head

用于顯示指定文件開始多少行內(nèi)容

命令參數(shù):

-n 10 顯示前10行

-n -10 正常輸出但不顯示最后的10行

eg:顯示new.txt的前兩行內(nèi)容

head -n 2 new.txt

head -2 new.txt

tail

用于顯示指定文件末尾多少行內(nèi)容

命令參數(shù):

-n 10 顯示后面10行

-f 持續(xù)刷新顯示的內(nèi)容

eg:顯示new.txt的末尾兩行內(nèi)容

tail -n 2 new.txt

tail -2 new.txt

eg:指定從第二行開始顯示

tail -n +2 new.txt

描述:一次顯示整個文件內(nèi)容

cat 命令 用于查看純文本文件(較短)

 cat …

描述:wc 命令默認情況下會打印

換行符

數(shù)、單詞數(shù)和字符數(shù)。

 用法:wc

用法:sort

關于兩個文件多條件匹配linux的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。

成都創(chuàng)新互聯(lián)科技公司主營:網(wǎng)站設計、網(wǎng)站建設、小程序制作、成都軟件開發(fā)、網(wǎng)頁設計、微信開發(fā)、成都小程序開發(fā)、網(wǎng)站制作、網(wǎng)站開發(fā)等業(yè)務,是專業(yè)的成都做小程序公司、成都網(wǎng)站建設公司、成都做網(wǎng)站的公司。創(chuàng)新互聯(lián)公司集小程序制作創(chuàng)意,網(wǎng)站制作策劃,畫冊、網(wǎng)頁、VI設計,網(wǎng)站、軟件、微信、小程序開發(fā)于一體。


當前名稱:Linux實現(xiàn)多條件匹配:兩個文件的高效查詢技巧(兩個文件多條件匹配linux)
標題網(wǎng)址:http://www.5511xx.com/article/cooiidg.html