Với mục này từ crontab của chúng tôi
1 3 1 * * find / var / log / tomcat / * -mtime +61 -type f -delete
Tôi muốn khớp với char không gian thứ 5 để tôi có thể tách phần lệnh ra khỏi phần trường thời gian. Cron có thể có các định dạng khác nhau, vì vậy tôi muốn có thể khớp DOW dưới dạng mặt trời hoặc 0.
Biểu thức chính quy tôi đang sử dụng trong vim khớp với không gian đầu tiên là và thay thế bằng giữ chỗ "T".
: g / \ * / s / \ (\ \) \ {1 \} / T /
Tôi còn thiếu gì để phù hợp với không gian thứ n hoặc thứ 5. Cái này không làm gì cả
: g / \ * / s / \ (\ \) \ {5 \} / T /
Tôi muốn tạo ra một sự cố khi các lệnh được chạy trong cron để thử và cân bằng tải trên các máy chủ của chúng tôi.
Phụ lục
Tôi hiểu những gì tôi đã làm sai với tìm kiếm / thay thế ở trên.
(\ \) \ {5 \}
Điều đó được mở rộng thành năm không gian sau nhau và không phải là không gian thứ 5 vì có các ký tự giữa các không gian.
Điều này hoạt động đến không gian thứ năm nhưng liều "\ 1" thay thế không bao gồm toàn bộ nguyên tử phù hợp.
: g / * / s / \ ([0-9A-Za-z * \ /,] * \) \ {5} / \ 1 T /
Nó để lại sau đây thay thế.
* T find /var/log/tomcat/* -mtime +61 -type f -delete
Tôi đang tìm kiếm
1 3 1 * * T find /var/log/tomcat/* -mtime +61 -type f -delete