簡體   English   中英

遞歸刪除同級Linux上的文件夾內的目錄

[英]Recursively remove directories inside folder on same level 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

你可以試試

rm -ri */.git

(不確定這是你想要的)

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM