Ketika saya melakukannya ls -l | grep ^d
hanya daftar direktori di direktori saat ini.
Apa yang saya ingin tahu adalah apa tanda sisipan ^
di ^d
rata-rata?
command-line
grep
special-characters
Meluncur
sumber
sumber
ls */
sebagai gantinya, yang akan bekerja dengan atau tanpa daftar panjang (ls -l
) dan tanpa perlugrep
(dan karenanya sangat sedikit lebih cepat) dan kecil kemungkinannya (dibandingkanls -l *
) untuk masuk ke daftar argumen masalah terlalu lama (karena hanya menempatkan direktori ke dalam perintah baris). Tentu saja,find . -maxdepth 1 -type d
ini lebih baik, karena tidak mengacaukan baris perintah Anda sama sekali.Jawaban:
Jawaban Andy benar, seperti yang terlihat di halaman manual:
Alasan kerjanya adalah
-l
bendera untukls
membuatnya menggunakan format daftar panjang. Hal pertama yang ditunjukkan pada setiap baris adalah izin yang dapat dibaca manusia untuk file tersebut, dan karakter pertama dari itu adalahd
untuk direktori atau-
untuk filesumber
Itu sebuah caret, bukan wortel. Itu berarti "awal dari garis." Grep hanya mencocokkan garis yang dimulai dengan "d".
sumber