Linux面試指令---find指令(三)

find 命令(三)

        下面將介紹如何使用 find 命令的-exec 選項來實現對查找到的文件執行指定的動作命令。

(1)常用範例

         例一:找到當前目錄下所有 php 文件,並顯示其詳細信息,可以使用如下命令:

find . -name "*.php" -exec ls -l {} \;

         -exec 是 find 命令對找到的文件執行的動作,這個動作就是對找到的文件執行命令,上面的命令就是 ls -l {}。在這裏說明一下{}和;,{}其實它就是一個佔位符,在 find 命令的執行過程中會不斷地替換成當前找到的文件,相當於”ls -l 找到的文件”。而;是-exec 的命令結束標記,因爲規定-exec 後面的命令必須以;結束,但;在 shell 中有特殊含義,必須要轉義,所以寫成;。

         例二:在環境中有很多自己編寫的 c 語言代碼文件,現在想要把所有 c 語言代碼文件下載下來,如果一個一個的下載很麻煩,我們可以先查找到所有的 c 語言代碼文件,然後將這些文件內容寫入到一個文件中,下載該文件,可以使用如下命令:

find . -name "*.c" -exec cat {} \; > all.c

         例三:默認下,-exec 後面只能使用單個命令,如果想要多個命令,可以將多個命令寫入腳本文件中,然後在-exec 中使用這個腳本,可以使用如下命令:

find . -name "*.c" -exec ./command.sh {} \;

 command.sh爲腳本內容:

#! /bin/bash
ls -l $1       # $1 表示第一個參數
cat $1

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章