久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Linux下find與exec如何結合使用

142次閱讀
沒有評論

共計 1625 個字符,預計需要花費 5 分鐘才能閱讀完成。

這篇文章主要為大家展示了“Linux 下 find 與 exec 如何結合使用”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓丸趣 TV 小編帶領大家一起研究并學習一下“Linux 下 find 與 exec 如何結合使用”這篇文章吧。

在 Linux 下工作,find 命令絕對是一個非常高頻的命令。我們可以用 find 命令來找到符合某些關鍵詞的文件,找到某些日期的文件,也可以設定一些正則表達式,找到一系列滿足該條件的文件。

但是,如果只有一個 find 命令的話,我們僅能將文件找出來,列在終端里。僅一個 find 命令還不足以再做進一步的操作。比如說,我們想把項目文件夾里的中間文件 (*.o 文件) 找出來,再把它們全部刪除; 再如,我們想把日志文件夾下 3 天以上的日志全部轉移到指定文件夾下; 等等諸如此類的需求,還有非常多。

像這樣的,我們想用 find 命令找到相關文件,再作進一步操作,該如何進行呢? 這時候 exec 命令就派上用場。

我們先來看看 exec 的基本用法。

-exec 參數后面跟的就是我們想進一步操作的命令,比如 rm,mv 等等。exec 是以分號 作為結束標識符的,考慮到各個系統平臺對分號的不同解釋,我們在分號前再加個反斜杠,便于移植。而在分號前,通常也會有一對花括號{},代表前面 find 命令查找出來的文件各。

我們直接通過幾個實例來講解 find 與 exec 聯合用法。為了演示的方便,我們假定有如下的一個項目文件夾:

實例 1:使用 find 命令查找相關文件后,再使用 ls 命令將它們的詳細信息列出來

我們現在想把當前目錄下所有的.o 文件全部找出來,并用 ls -l 命令將它們列出來。實現這個需求的命令如下:

find . -name  *.o  -type f -exec ls -l {} \;

結果如下:

在這里,我們用 find 命令匹配到了當前目錄下的所有.o 文件,并在 -exec 選項中使用 ls -l 命令將它們的詳細信息列出來。

實例 2:使用 find 命令查找相關文件后,再使用 rm 命令將它們刪除

我們現在想把當前目錄下所有的.o 文件全部找出來,并用 rm 命令將它們刪除。實現這個需求的命令如下:

find . -name  *.o  -exec rm {} \;

執行完這個命令后,該目錄下所有的.o 文件都被刪除。由于這個動作完成后也不會有任何提示,所以就沒有截圖的必要了。

實例 3:使用 -exec 選項的安全模式,將對每個匹配到的文件進行操作之前提示用戶

在實例 2 中,我們匹配到文件后就立刻執行 rm 命令,這樣操作有些危險,因為如果一旦誤操作,有可能會引起災難性的后果。

exec 的安全模式就是為了避免這個問題而產生。它會在匹配到某個文件后,在進行操作之前會先問一下你,經過你的確認它才會進行相應操作。

同樣的實例 2 的需求,如果采用安全模式的話,命令是這樣的:

find . -name  *.o  -ok rm {} \;

執行結果如下:

實例 4:搜索匹配到的文件中的關鍵內容

假如我現在有個很大型的項目(如 Linux 內核),我想在里面搜索一個含有某關鍵字的文件。我們可以使用 grep 命令檢索所有的文件。這樣做肯定是可以的,但如果項目很大的話,這樣太耗時了,效率太低。

我們可以先用 find 命令找到所以相關文件,然后再用 grep 命令檢索那些文件即可。因為已經使用 find 過濾一遍了,所以這樣操作會節約很多時間,提高效率。

命令如下:

find . -name  *.h  -exec grep -rns  hello  {} \;

結果如下:

實例 5:查找文件并移動到指定目錄

這個需求就比較簡單了。比如我現在想把所有的.o 文件找出來,然后新他們 mv 到 buil 目錄。命令如

下:

find . -name  *.o  -exec cp {} build \;

結果如下:

以上是“Linux 下 find 與 exec 如何結合使用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注丸趣 TV 行業資訊頻道!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-25發表,共計1625字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 定边县| 鄂尔多斯市| 新泰市| 三门县| 奉化市| 承德县| 广安市| 贺兰县| 南华县| 龙岩市| 手机| 枣强县| 河南省| 二手房| 宜都市| 竹北市| 常宁市| 炉霍县| 林芝县| 山阴县| 化州市| 嘉峪关市| 巫溪县| 贵德县| 文成县| 大渡口区| 宜川县| 海伦市| 望谟县| 本溪市| 泸西县| 南川市| 辉县市| 黄龙县| 金平| 晴隆县| 肃宁县| 九龙县| 昭苏县| 汉寿县| 越西县|