関数型というとfor文使うのではなくこんなイメージ

fn main() {
 std::env::args().skip(1).for_each(|file_name| {
  println!("{}", file_name);
  std::fs::read_to_string(&file_name).map(|lines| {
   lines.lines().enumerate().for_each(|(i, line)| {
    println!("{:>2}:{}", i + 1, line);
   })
  })
 })
}