Đệ quy đệ quy của một số thư mục


8

Tôi có một số lưu trữ RAR trải rộng trên nhiều thư mục nhưng tất cả đều nằm trong một thư mục gốc cụ thể trên NAS dựa trên Debian của tôi. Ai đó có thể giúp tôi viết một tập lệnh đơn giản có thể đệ quy vào từng thư mục, hủy bỏ nội dung, quay lại thư mục mẹ và chuyển sang thư mục tiếp theo không? Vì thế:

cd Photos/Summer/Italy/
unrar e Italy.rar
wait
cd ../France/
unrar e France.rar
wait
etc...

Vì vậy, chỉ cần trỏ nó vào thư mục gốc "Ảnh" và nó lướt qua nó bất chấp mọi thứ trên đường ...

Ví dụ, cấu trúc thư mục:

*Photos:
 -Summer
  --Italy
   ---Italy.rar
   ---Italy.r01
   ---Italy.r02
  --France
   ---France.rar
   ---France.r01
   ---France.r02
 -Winter
  --Siberia
   ---Siberia.rar
   ---Siberia.r01
   ---Siberia.r02
  --Canada
   ---Snow.rar
   ---Snow.r01
   ---Snow.r02

Câu trả lời:



3

unrarcó đệ quy tích hợp sử dụng công -r Recurse subdirectoriestắc.

unrar x -r <parent directory> Trích xuất nội dung của tất cả các thư mục con bên dưới <parent directory>vào mỗi thư mục con, giữ bất kỳ cấu trúc thư mục nào tồn tại trong các .rartệp. Sử dụng ethay vì xnếu cấu trúc thư mục là không mong muốn.


Điều này sẽ trích xuất các tệp từ kho lưu trữ thư mục con vào <parent directory>. Nó sẽ không đặt các tệp được trích xuất vào thư mục con bên cạnh các .rartệp. Vì vậy, nó phụ thuộc vào kết quả mong muốn. OP không cụ thể trong trường hợp này. Đôi khi câu trả lời của bạn hữu ích với tôi nhưng lần khác tôi cần findcâu trả lời.
Vách đá

1

Nếu bạn muốn di chuyển những bức ảnh chưa được chỉnh sửa đến một điểm đến khác, chỉ cần nhập điểm đến cuối cùng, như thế này:

find source_dir/ -name '*.rar' -execdir unrar e -o- {} /new/destination_dir/ \;

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.