Alt + Shift + {là gì?


10

Đã thử nghiệm điều này trên CentOS và Ubuntu, nếu bạn đang ở trong một thư mục chứa rất nhiều tệp

$ ls
day1.tar.gz  day2.tar.gz  day3.tar.gz  day4.tar.gz  day5.tar.gz  day6.tar.gz  day7.tar.gz  day8.tar.gz day9.tar.gz day10.tar.gz

Và bạn nhấn Alt+Shift+{nó sẽ hoàn thành mọi tên tệp

<Alt+Shift+{>

hoàn thành

 day{1{0.tar.gz,.tar.gz},2.tar.gz,3.tar.gz,4.tar.gz,5.tar.gz,6.tar.gz,7.tar.gz,8.tar.gz,9.tar.gz}

day1<Alt+Shift+{>

hoàn thành

day1{0.tar.gz,.tar.gz}

Câu hỏi : Đây là cái gì? Cái này gọi là gì? Nó hữu ích ở đâu? Làm thế nào tôi có thể cấu hình nó? Tôi có thể làm điều này với các tệp kết thúc bằng một chuỗi con không bắt đầu bằng một chuỗi không?

Câu trả lời:


9

Trong Bash, nó thực hiện chức năng đọc complete-into-braces.

Mở rộng dấu ngoặc là một cách hữu ích để viết tắt một tham chiếu đến nhiều tệp.

Ví dụ:

ls -l /path/to/dir/*.{c,h}

sẽ liệt kê tất cả các tệp kết thúc bằng ".c" hoặc ".h".

Từ man bash:

hoàn thành vào dấu ngoặc nhọn (M- {)
Thực hiện hoàn thành tên tệp và chèn danh sách các phần tử có thể có trong dấu ngoặc để danh sách có sẵn cho trình bao (xem Mở rộng dấu ngoặc ở trên).

Mở rộng Brace Mở rộng
Brace là một cơ chế theo đó các chuỗi tùy ý có thể được tạo. Cơ chế này tương tự như mở rộng tên đường dẫn, nhưng tên tệp được tạo không cần tồn tại. Các mẫu được niềng răng mở rộng có dạng một phần mở đầu tùy chọn, theo sau là một chuỗi các chuỗi được phân tách bằng dấu phẩy hoặc một biểu thức chuỗi giữa một cặp dấu ngoặc, theo sau là một phần tái bút tùy chọn. Lời mở đầu được thêm tiền tố vào từng chuỗi chứa trong dấu ngoặc nhọn và sau đó phần tái bút được thêm vào từng chuỗi kết quả, mở rộng từ trái sang phải.

Mở rộng cú đúp có thể được lồng. Kết quả của mỗi chuỗi mở rộng không được sắp xếp; trật tự từ trái sang phải được bảo tồn. Ví dụ: a {d, c, b} e mở rộng thành 'ade ace abe'.

Hoàn thành, theo định nghĩa, hoàn thành để nó hoạt động với các tệp bắt đầu bằng một chuỗi.


Tôi ngạc nhiên .. Đó là một mở rộng cú đúp ngược! ... Tốt một cái;) ...
Peter.O
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.