Wenn Sie versuchen, Elemente selektiv zu entfernen, können Sie verwenden find
.
find . -name "a*" \! -type d -delete
Sie können überprüfen, was Sie löschen, indem Sie Folgendes ausführen:
find . -name "a*" \! -type d -print
Erstellen Sie beispielsweise einige Verzeichnisse und Dateien:
mkdir -p testDir/a/b
cd testDir
touch apple.txt banana.txt ant.tx a/antelope.txt a/bus.txt a/b/apostrophe.txt a/b/bug.txt
So zeigen Sie die Dateien und Verzeichnisse an:
find . -name "*" -print
kehrt zurück:
.
./a
./a/antelope.txt
./a/b
./a/b/apostrophe.txt
./a/bus.txt
./ant.tx
./apple.txt
./banana.txt
So überprüfen Sie, was gelöscht wird:
find . -name "a*" \! -type d -print
kehrt zurück:
./a/antelope.txt
./a/b/apostrophe.txt
./ant.tx
./apple.txt
So löschen Sie die Dateien:
find . -name "a*" \! -type d -delete
So überprüfen Sie, ob nur * Dateien gelöscht wurden:
find . -name "*" -print
kehrt zurück:
.
./a
./a/b
./a/bus.txt
./banana.txt