Điểm:0

Cách tự động hóa công việc để di chuyển tệp mới nhất với tên tệp tuần tự

lá cờ bw

Tôi có các tệp trong một thư mục, tất cả đều là một phần của cấu trúc đặt tên tuần tự. Tôi muốn tự động hóa một công việc mà tôi có thể tìm thấy tệp mới nhất trong trình tự này và sao chép tệp đó sang một thư mục khác.

Ví dụ. trong /tmp/directory23 có tên tệp:

CEN_01 [Ngày sửa đổi 31/05/2021]
CEN_02 [Ngày sửa đổi 06/07/2021]
CEN_03 [Ngày sửa đổi 14/06/2021]
CEN_04 [Ngày sửa đổi 21/06/2021]
CEN_05 [Ngày sửa đổi 28/06/2021]
CEN_06 [Ngày sửa đổi 07/05/2021]

Tôi muốn tự động hóa một công việc, nơi tôi tìm thấy tệp CEN_06 đã sửa đổi mới nhất và sao chép tệp đó vào một thư mục khác.

Có ai có thể giúp tôi không?

FedKad avatar
lá cờ cn
Nhìn vào `người đàn ông ls`. Chuỗi lệnh `last_file=$(ls -t | head -n1)` sẽ gán tên tệp bạn cần vào một biến shell.
Điểm:1
lá cờ lb

Có hai phần trong câu hỏi của bạn, vì vậy tôi sẽ giải quyết chúng một cách riêng biệt. Tôi cũng không biết mức độ thoải mái của bạn với Linux, vì vậy vui lòng cho tôi biết nếu những hướng dẫn này quá mơ hồ.

  • tìm tệp sửa đổi mới nhất CEN_06 và sao chép tệp vào một thư mục khác : bạn sẽ có thể làm điều đó bằng cách sử dụng đầu ra của ls -lt, và sau đó lấy kết quả đầu tiên. Sau một số tìm kiếm, những điều sau đây dường như đang hoạt động: ls -t | đầu -n1 (chỉnh sửa: cảm ơn @FedonKadifeli cho lệnh này). Để sao chép một tập tin, cp lệnh là những gì bạn đang tìm kiếm.
  • Tôi muốn tự động hóa một công việc : một cách để tự động hóa nội dung trong Linux là sử dụng crontabs. Bạn sẽ có thể làm những gì bạn muốn bằng cách sử dụng chúng. Tôi khuyên bạn nên đọc người đàn ông về chủ đề đó người đàn ông 5 crontab. Về cơ bản, bạn đưa vào một .sh gửi các lệnh bạn muốn chạy, sau đó crontab sẽ tự động hóa nó cho bạn trong các khoảng thời gian nhất định.
FedKad avatar
lá cờ cn
Tại sao bạn lại sử dụng chuỗi lệnh rất dài này, trong khi một lệnh đơn giản `ls -t | head -n1` có thể dễ dàng thực hiện công việc không?
lá cờ uz
Jos
@FedonKadifeli Thậm chí còn tốt hơn, bởi vì lệnh của Malo có xu hướng in thêm một khoảng trắng ở đầu tên tệp.
lá cờ hr
... hoặc sử dụng `zsh`, nơi bạn không cần phải dựa vào phân tích cú pháp dễ vỡ của đầu ra ls và thay vào đó có thể sử dụng một trình bao đủ tiêu chuẩn như `CEN_*(om[1])`
Malo Maisonneuve avatar
lá cờ lb
@FedonKadifeli Cảm ơn! Điều này là tốt hơn rất nhiều. Tôi sẽ cập nhật lệnh quá dài của mình :)

Đă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.