Asla ls'nin çıkışını ayrıştırma
Önerim, ls [ 1 ] ' in çıkışını ayrıştırmamaktan kaçınmaktır .del komut . Bu, pek çok nedenden ötürü, genellikle beklenmedik ve dosya adına izin verilen olağan olmayan karakterlerle ilgilidir.
Linux paketlerine ait dosya adlarının "iyi davranacağını" beklemeniz durumunda bile , bu dosya aynı dizinde başka dosyalar varsa, ancak bilmediyseniz veya farketmediyseniz görünebilir.
findSekme genişletmesi (adı yazmaya ve basmaya başla Tab), dosya adı genişletme [ 2 ] olarak kullanmak daha iyidir *MyKey*...
Hızlı bir çözüm İçinde "google" bulunan
tüm paketleri (tamamlanmış .deb) seçmek istediğinizden , joker karakter ile isteğinizi oluşturabilir ve basit bir işlem yapabilirsiniz.* *google*.deb
rm -i *google*.deb
her seçecektir dosya adı ile "google" için bitecek ortada .debgeçerli dizinde mevcut. Seçenek -i(etkileşimli) onay ister, parametre genişletmeli dosyaları sildiğinizde iyi bir alışkanlık olur.
Denemenizin felsefesine yakın bir çözüm
Amacınız komut satırı parçanızı parçadan sonra oluşturmaksa, bunu yaptınız ls, sonra ls | grep googleve yalnızca çıktınızı kontrol ettikten sonra bunu bir alt kabukta uygulayabilirsiniz $(...).
rm -i $(ls | grep google)
Daha hızlı ve daha tehlikeli bir yol [ 3 ] kullanmaktır!!
ls | grep google
rm -i $(!!)
Bu geçmişinde biten son komutu yürütecek . Sen sen önceden kabuk seçenekleri etkinleştirdiyseniz yürütmek edeceklerini hattının hiçbir görsel kontrole sahip olmasından korunabilirsiniz histverifyile shopt -s histverify.
rm -i *chrome*.deb