Имейте список меньших сетевых элементов, которые я пытаюсь перечислить в stdout. Мой маленький маленький скрипт работает до регулярного выражения, после того как я получил запрос о том, что я хочу найти, он перечисляет всю строку.Комбинировать Grep и Regex?
Пример:
Пожалуйста, введите область
Входной: Bei
Выход:
ИПК-bei640-р-уш-01
ipc- bei640-r-br-02
ИПК-bei640-р-уш-03
Вместо:
bei640-01
bei640-02
bei640-03
Кроме того, если я просто нажать " Enter "на входе перечислены все устройства.
lines = IO.readlines("/usr/local/bin/braslist.txt")
devices = []
str = File.read('braslist.txt')
while true
print "Please enter a region. If you want to exit enter exit "
input = gets.chomp
exit if input == 'exit'
#Opens file and greps for input
File.open("braslist.txt", "r+") do |f|
f.each do |line|
devices += line.split(" ").grep(/#{input}/i)
input.scan(/^ipc-(?<bng>[a-z]{3}\d{3})-r-br(?<nr>-\d{2})$/).map(&:join)
end
end
puts devices
puts "#{devices.length} network elements found"
end
Работает как шарм, просто то, что я искал. – user3820869