Tôi hiểu những gì brace expansion là.
Nhưng tôi không biết tôi sử dụng nó ở đâu.Khi nào bạn sử dụng mở rộng cú đúp?
Khi nào bạn sử dụng?
Vui lòng cho tôi một số ví dụ thuận tiện.
Cảm ơn.
Tôi hiểu những gì brace expansion là.
Nhưng tôi không biết tôi sử dụng nó ở đâu.Khi nào bạn sử dụng mở rộng cú đúp?
Khi nào bạn sử dụng?
Vui lòng cho tôi một số ví dụ thuận tiện.
Cảm ơn.
Các hình thức biểu hiện phạm vi mở rộng cú đúp được sử dụng ở vị trí của seq
trong một vòng lặp for
:
for i in {1..100}
do
something # 100 times
done
Ví dụ, tạo bản sao lưu của tất cả các tập tin của bạn trong một thư mục:
for i in * ; do
cp "$i"{,.bak}
done
Bạn sử dụng nó bất cứ khi nào bạn muốn để phù hợp với nhiều sự lựa chọn. Ví dụ:
ls src/{Debug,Release}/*.o # List all .o files in the Debug and Release directories.
Trong bash, bạn sử dụng mở rộng cú đúp nếu bạn muốn tạo một phạm vi, ví dụ
for r in {0..100}
for r in {0..10..2}
#with bước 2
for z in {a..z}
Thay vì sử dụng các lệnh bên ngoài như seq 0 100
. Ngoài ra, mở rộng cú đúp có thể được sử dụng để liệt kê các loại tệp, ví dụ:
for file in *.{txt,jpg}
.
Danh sách này tất cả các tệp có phần mở rộng txt và jpg.
Điều đó không thể hoạt động. –
Xin lỗi, đã chuyển {, .bak} ra khỏi phần được trích dẫn. là một lỗi đánh máy. – Benoit
Ok, điều đó có ý nghĩa hơn. Trong thực tế, tôi đã không nhận ra cho đến bây giờ rằng các thành phần đường dẫn không cần phải tồn tại. –