Điểm:1

Dấu gạch chéo Bash không hoạt động trong dấu ngoặc vuông ký tự đại diện

lá cờ ad

Tôi tò mò tại sao lệnh ls -pd *[!/] hoặc ls -pd *[!\/] không khớp với tất cả các tệp không kết thúc bằng /.

Trường hợp sử dụng của tôi là tôi chỉ muốn liệt kê các tệp trong thư mục làm việc hiện tại. Tôi biết rằng nó tốt hơn để sử dụng tìm thấy thay vì ls nhưng tôi muốn hiểu chung chung là có thể sử dụng / trong ngoặc vuông trong ký tự đại diện.

lá cờ fo
Bạn có thể nhận được nhiều lực kéo hơn cho câu hỏi này trên stackoverflow
lá cờ fo
Trong hướng dẫn, [Mở rộng tên tệp](https://www.gnu.org/software/bash/manual/bash.html#Filename-Expansion) cho biết "Khi khớp tên tệp, ký tự gạch chéo phải luôn được khớp rõ ràng bằng một dấu gạch chéo trong mẫu". Ngoài điều đó ra, tôi không thể tìm thấy bất cứ điều gì nói rằng `*/` chỉ mở rộng ra các thư mục. Lưu ý rằng dấu gạch chéo không thực sự là một phần của tên tệp. Đã nói tất cả những điều đó, tôi không biết làm thế nào để xây dựng một mô hình toàn cầu loại trừ các thư mục.
lá cờ fo
có lẽ `ls -pd1 * | grep -v '/$'`
Alex Misiulia avatar
lá cờ ad
@glennjackman cảm ơn vì câu trả lời. Nhưng thật kỳ lạ là nó không được ghi lại trong sách hướng dẫn hoặc các nguồn khác. Tôi có thể khớp các ký tự đặc biệt khác bằng cách trích dẫn chúng trong dấu ngoặc vuông. Nhưng dấu gạch chéo ngược không hoạt động.
lá cờ ph
@AlexMisiulia Dấu gạch chéo không thực sự là một phần của tên tệp, nó là dấu phân cách * sau * tên tệp, do đó, vốn dĩ nó sẽ hoạt động khác với các ký tự là một phần của tên tệp.
Alex Misiulia avatar
lá cờ ad
@GordonDavisson cảm ơn. Có lẽ bạn có một số tài liệu tham khảo để mô tả sâu chủ đề này?

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.