^ D có nghĩa là gì trong ls -l | g ^ ^ d?


13

Khi tôi làm ls -l | grep ^dnó chỉ liệt kê các thư mục trong thư mục hiện tại.

Những gì tôi muốn biết là những gì hiện các dấu nháy ^trong ^dbình?


Để biết thông tin liên quan, hãy tìm các biểu thức chính quy hoặc xem trang này về cách sử dụng các biểu thức thông thường trong grep: robelle.com/smugbook/regexpr.html
Trey Hunner

Điều này hoạt động, nhưng là tối ưu. ls */Thay vào đó, hãy xem xét , cái này sẽ hoạt động có hoặc không có danh sách dài ( ls -l) và không cần grep(và do đó nhanh hơn một chút) và ít có khả năng (hơn ls -l *) chạy vào danh sách đối số vấn đề quá dài (vì nó chỉ đặt các thư mục vào lệnh hàng). Tất nhiên, find . -maxdepth 1 -type dthậm chí còn tốt hơn, vì nó không làm lộn xộn dòng lệnh của bạn.
Adam Katz

Câu trả lời:


21

Câu trả lời của Andy là đúng, như đã thấy trong trang nam:

Neo

Dấu mũ ^ và ký hiệu đô la $ là các ký tự meta tương ứng khớp với chuỗi trống ở đầu và cuối của một dòng.

Lý do nó hoạt động là -lcờ để lslàm cho nó sử dụng định dạng danh sách dài. Điều đầu tiên được hiển thị trong mỗi dòng là các quyền có thể đọc được của con người đối với tệp và ký tự đầu tiên là dcho một thư mục hoặc -cho một tệp


14

Đó là một con caret, không phải củ cà rốt. Nó có nghĩa là "bắt đầu của dòng." Grep chỉ khớp với các dòng bắt đầu bằng "d".

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.