2014-05-07 145 views
0

我的結構如下:遞歸刪除目錄文件夾內同一級別的Linux

├── Proj 1 
│   ├── .git 
│   ├── LICENSE 
│   ├── README.md 
│   └── example.cpp 
├── Proj 2 
│   ├── .git 
│   ├── root_folder 
│   └── README.md 
├── Proj 3 
│   ├── .git 
│   ├── root_folder 
│   └── README.md 

... 

爲什麼當我做了rm -ri \.git它說:

rm: cannot remove `.git': No such file or directory 

回答

2

你可以嘗試

rm -ri */.git 

(不確定這是你想要的)

+0

ah..its晚,當然。謝謝。 –

0

rm的遞歸搜索的語義不適合查找和刪除當前目錄下的目錄。 -ri標誌可能會顯示.git文件夾下面的每個文件的權利?

令人高興的是,如果你使用的是bash,一個班輪與find會做你需要的東西:

find . -name .git -type d -exec bash -c 'read -p "$0: Delete? " -n 1 -r && echo "" && case $REPLY in y) rm -rf "$0" ;; esac' {} \; -prune