1. 程式人生 > >find命令查詢某些檔案並將其拷貝到指定目錄

find命令查詢某些檔案並將其拷貝到指定目錄

【問題】我想搜尋某個資料夾下的所有.c檔案,並將其拷貝到另外一個目錄下。
【情景設定】當前目錄下有若干檔案,利用tree 命令如下圖:
.
├── a.c
├── b.c
├── cat
│ ├── 1.asm
│ ├── 2.asm
│ ├── x.c
│ └── y.c
├── dog
├── m.asm
└── n.asm
要求把所有.c檔案拷貝到dog目錄下。

【解決方法】

find ./ -name "*.c" | xargs -i cp {} ./dog/

或者

find ./ -name "*.c" -exec cp '{}' ./dog/
\;

注意: ./dog/\; 之間有個空格。

這種用法可以靈活變通,比如刪除所有的.c檔案。

 find ./ -name "*.c" -exec rm '{}' \;