ldiff.rs 689 B

1234567891011121314151617181920212223242526
  1. // vim: sw=4 ts=4
  2. // эта программа выводит все ссылки из файла links.txt, соответствующие
  3. // которым файлы не скачаны
  4. //
  5. // применение:
  6. // $ ./ldiff links.txt | wget2 -ci-
  7. use std::env;
  8. use std::fs;
  9. fn main() -> Result<(), Box<dyn std::error::Error>>
  10. {
  11. let args: Vec<String> = env::args().collect();
  12. if args.len() < 2 { panic!("specify file with links"); }
  13. let data: String = fs::read_to_string(&args[1])?;
  14. for link in data.lines() {
  15. let (_, fname) = link.rsplit_once('/').unwrap();
  16. if !fs::exists(&fname)? {
  17. println!("{}", link);
  18. }
  19. }
  20. Ok(())
  21. }