Giả sử bạn có một thư mục với hàng trăm tệp có tên tệp sai và bạn muốn thay thế mọi tên tệp có chứa kiểm tra với prod. (đây là một ví dụ giả tạo). Chúng ta có thể dễ dàng làm điều này với lệnh “for” trong bash, kết hợp với một chút tốt lành. Hôm nay, chúng ta sẽ tìm hiểu cách thay thế văn bản trong một biến trong vòng lặp for.
Lệnh "for" hoạt động như sau:
for var in ;do $var;done
Bạn có thể thay thế
Đây là nơi xử lý biến bash làm cho nó thú vị hơn. Thay vì chỉ làm một cái gì đó như "mv $ var", chúng ta có thể thay thế văn bản trong tên tệp bằng cú pháp này:
${var/originaltext/replacetext}
Bây giờ, nếu chúng ta chạy lệnh này trên thư mục của chúng ta:
for f in *;do mv $f ${f/test/prod};done
Đối với mỗi tệp phù hợp với *, bash sẽ thực hiện một lệnh tương tự như sau:
mv test.config prod.config
Tôi đã thấy rằng kiến thức về trình bao là vô giá khi quản lý máy chủ hoặc chỉ để quản lý bộ sưu tập tệp của bạn và đã tiết kiệm cho tôi số giờ làm việc theo cách thủ công.
Và có, tôi nhận ra có một số công cụ có thể thực hiện đổi tên nhiều tệp.