find exec 命令後面的 和

2021-10-04 20:48:25 字數 773 閱讀 1754

乙個-exec只能執行乙個命令,而且必須在命令後面加上終結符,終結符有兩個:「;」和「+」。

其中「;」會對每乙個find到的檔案去執行一次cmd命令。而」+「讓find到的檔案一次性執行完cmd命令。為什麼必須有終結符?因為乙個find後面可以有多個-exec cmd,所以必須要有終結符分割他們。如果不加,會包缺少引數。

[work@jkz

~]$ find .

-maxdepth 1

-type f -name "*.log"

-exec echo \;

-exec echo

+./server02.log

./server03.log

./server00.log

./server01.log

./timing.log

./server.log

./server02.log ./server03.log ./server00.log ./server01.log ./timing.log ./server.log

為什麼要加「\」?

「;」是shell的命令分隔符,如果只有「;」,那麼這條命令就會被shell截斷。

[work@jkz ~

]$ find .

-maxdepth 1

-type f -name "*.log"

-exec echo

;find: missing argument to `-exec'

Linux 命令 基本 find exec

命令 find option 引數 path 注意 findfolder1 type d 和 findfolder1 type d 不同,folder1 後如果沒有 號,folder 1也會出現在被查詢範圍內.如果執行刪除命令時,folder1會被刪除掉.maxdepth 查詢深度,e.g.find...

if語句後面的分號

if語句後面的分號 關於if else 語句還有乙個容易出錯的地方就是與空語句的連用。看下面的例子 if null p fun 這裡的fun 函式並不是在null p 的時候被呼叫,而是任何時候都會被呼叫。問題就出在if 語句後面的分號上。在c 語言中,分號預示著一條語句的結尾,但是並不是每條c 語...

for迴圈後面的分號

include int main return 0 表示本行語句結束,在for後面加上 說明for已經結束,表示不進行任何 的執行,就相當乙個空語句。注意以下語句的分號 1.for i 1 i 4 i 表示可以執行到i 3,注意此時i 4,但不執行。2.for i 1 i 4 i 表示不執行該語句,...