grep find 命令組合使用

2021-08-25 15:53:26 字數 1417 閱讀 6761

[b]find grep 組合的乙個例子[/b]

用來查詢所有".h"檔案中的含有「helloworld」字串的檔案.

find -name "*.h" -exec grep "helloworld" {} \;

[b]使用exec或ok來執行shell命令[/b]

使用find時,只要把想要的操作寫在乙個檔案裡,就可以用exec來配合find查詢,很方便的

在有些作業系統中只允許-exec選項執行諸如l s或ls -l這樣的命令。大多數使用者使用這一選項是為了查詢舊檔案並刪除它們。建議在真正執行rm命令刪除檔案之前,最好先用ls命令看一下,確認它們是所要刪除的檔案。

exec選項後面跟隨著所要執行的命令或指令碼,然後是一對兒,乙個空格和乙個\,最後是乙個分號。為了使用exec選項,必須要同時使用print選項。如果驗證一下find命令,會發現該命令只輸出從當前路徑起的相對路徑及檔名。

例如:為了用ls -l命令列出所匹配到的檔案,可以把ls -l命令放在find命令的-exec選項中

上面的例子中,find命令匹配到了當前目錄下的所有普通檔案,並在-exec選項中使用ls -l命令將它們列出。

在/logs目錄中查詢更改時間在5日以前的檔案並刪除它們:

$ find logs -type f -mtime +5 -exec rm \;

記住:在shell中用任何方式刪除檔案之前,應當先檢視相應的檔案,一定要小心!當使用諸如mv或rm命令時,可以使用-exec選項的安全模式。它將在對每個匹配到的檔案進行操作之前提示你。

在下面的例子中, find命令在當前目錄中查詢所有檔名以.log結尾、更改時間在5日以上的檔案,並刪除它們,只不過在刪除之前先給出提示。

按y鍵刪除檔案,按n鍵不刪除。

任何形式的命令都可以在-exec選項中使用。

在下面的例子中我們使用grep命令。find命令首先匹配所有檔名為「 passwd*」的檔案,例如passwd、passwd.old、passwd.bak,然後執行grep命令看看在這些檔案中是否存在乙個sam使用者。

# find /etc -name "passwd*" -exec grep "sam" \;

sam:x:501:501::/usr/sam:/bin/bash

C語言使用正則,grep,find

1,regcomp函式 函式原型 int regcomp regex t compiled out const char pattern in int cflags include value 成功 0,失敗 錯誤號 compiled 是乙個結構體資料型別,用來存放編譯後的正規表示式 pattern...

ps與grep組合命令使用

管道命令 我們在做運維的時候,經常會使用這個命令ps ef grep nginx。ps ef表示顯示所有程序的訊息。是管道命令。通常需要借助管道命令 多個命令的組合,形式如下 command 1 command 2 command 3 管道命令的作用是將command 1執行的結果,交給comman...

linux下使用命令組合的問題

有乙個場景是我們在linux下想要使用組合命令,比方說我們先進入乙個目錄 cd home work aaa 然後在這個目錄下有乙個壓縮檔案,bbb.gz,然後我們想看下裡面的內容 這三個操作一起操作的話會使用到 和 管道 在實際中我們可以拼接命令為 cd home work aaa zcat bbb...