^ D ne demek ls -l | grep ^ d?


13

Bunu yaptığımda ls -l | grep ^dyalnızca geçerli dizindeki dizinleri listeler.

Çıkıntı işareti ne Bilmek istiyorum olduğu ^içinde ^dortalama?


İlgili bilgiler için düzenli ifadelere bakın veya grep'teki
Trey Hunner

Bu işe yarıyor, ama yetersiz. Düşünün ls */ya Uzun bir listenin (olmadan çalışacak, bunun yerine ls -l) ve gerek kalmadan grep(ve dolayısıyla biraz daha hızlı çok olduğunu) ve (daha az olasıdır ls -l *bir karşılaşmak) bağımsız değişken listesinin çok uzun o komutun içine sadece dizinleri koyar beri (sorunu hat). Elbette, find . -maxdepth 1 -type dkomut satırınızı hiç karıştırmayacağı için daha da iyidir.
Adam Katz

Yanıtlar:


21

Andy'nin cevabı , man sayfasında görüldüğü gibi doğrudur:

Demirleme

^ İşareti ve dolar işareti $, sırasıyla satırın başında ve sonunda boş dizeyle eşleşen meta karakterlerdir.

Çalışmasının nedeni , uzun listeleme biçimini kullanmasını sağlayan -lbayraktır ls. Her satırda gösterilen ilk şey, dosya için okunabilir izinlerdir ve bunun ilk karakteri dbir dizin veya -dosya içindir.


14

Bu bir caret, havuç değil. "Hattın başlangıcı" anlamına gelir. Grep yalnızca "d" ile başlayan satırlarla eşleşir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.