read_a_specific_line_from_a_file.sf 397 B

123456789101112131415161718
  1. #!/usr/bin/ruby
  2. #
  3. ## https://rosettacode.org/wiki/Read_a_specific_line_from_a_file
  4. #
  5. func getNthLine(filename, n) {
  6. var file = File.new(filename);
  7. file.open_r.each { |line|
  8. Num($.) == n && return line;
  9. };
  10. Sys.warn("file #{file} does not have #{n} lines, only #{Num($.)}\n");
  11. return nil;
  12. }
  13.  
  14. var wantedLine = getNthLine("/etc/passwd", 7);
  15. defined(wantedLine) && print wantedLine;