use std::collections::HashSet;
use std::fs::File;
use std::io::{self, BufRead};
use std::path::Path;
fn main() -> io::Result<()> {
let path = "txt.log";
let file = File::open(&Path::new(path))?;
let reader = io::BufReader::new(file);
let mut lines_set: HashSet<String> = HashSet::new();
let mut total_lines = 0;
for line in reader.lines() {
let line = line?;
total_lines += 1;
lines_set.insert(line.trim().to_string());
}
let mut lines = lines_set.into_iter().collect::<Vec<String>>();
lines.sort();
for line in &lines {
println!("{}", line);
}
let unique_lines = lines.len();
eprintln!("Total lines: {}", total_lines);
eprintln!("Unique lines: {}", unique_lines);
eprintln!("Difference: {}", total_lines - unique_lines);
Ok(())
}