Jestem obecnie otwierania pliku podjętą w czasie wykonywania przez ARGV:Jak wydrukować numer wiersza pliku, z którym pracuję za pomocą ARGV?
File.open(ARGV[0]) do |f|
f.each_line do |line|
Gdy zostanie znaleziony wydrukować dane wyjściowe do użytkownika.
if line.match(/(strcpy)/i)
puts "[!] strcpy does not check for buffer overflows when copying to destination."
puts "[!] Consider using strncpy or strlcpy (warning, strncpy is easily misused)."
puts " #{line}"
end
Chcę wiedzieć, jak wydrukować numer wiersza dla pasującej linii w pliku (ARGV [0]).
Używanie print __LINE__
pokazuje numer wiersza ze skryptu Ruby. Próbowałem wiele różnych wersji print __LINE__
z różnymi interpolacjami ciągów #{line}
bez powodzenia. Czy istnieje sposób, w jaki mogę wydrukować numer linii z pliku?
To było wspaniałe! Dzięki za pomoc Tin Man. Nie wiedziałem o angielskim module;) – nanotechz9l
Yup Użyłem grep w przeszłości, ale nie w tym celu, sprawdzę to. Dziękuję również za przycięcie w dół pętli. Wygląda o wiele lepiej! – nanotechz9l