Я пытаюсь захватить все пути в текстовом файле, разделив строку на массив и слово с помощью «/ java», чтобы получить пути.Как разбить строку в файле в ruby
Вот мой код:
logfile = "/home/weblogic/javaapp.txt"
log = Facter::Util::FileRead.read(logfile)
log.each_line do |line|
unless log.nil?
log.each_line do |line|
val = line.split(/ /)
java_path = val.grep(%r!/java!)
java_count += 1
Facter.add("java_known_weblogic_version#{java_count}") do
setcode do
java_path
end
end
Вот мой текстовый файл:
/u01/java/jdk1.7.0_72/jre/bin/java /u01/java/jdk1.7.0_72/bin/java /u01/java/jdk1.7.0_65/jre/bin/java /u01/java/jdk1.7.0_65/bin/java
факты возвращаются, как это:
java_known_weblogic_version1 ["/u01/java/jdk1.7.0_72/jre/bin/java\n"]
java_known_weblogic_version10 []
java_known_weblogic_version11 []
java_known_weblogic_version12 []
java_known_weblogic_version13 ["/u01/java/jdk1.7.0_65/bin/java\n"]
java_known_weblogic_version14 []
java_known_weblogic_version15 []
Как устранить []
и вернуть только путь, например «/u01/java/jdk1.7.0_65/bin/java»?
Пара вопросов. Узнайте, как правильно отформатировать вопрос. Stack Overflow предоставляет [очень полезную помощь] (http://stackoverflow.com/editing-help) для этого, поэтому пройдите через него и ознакомьтесь с техникой. Кроме того, вам не нужно просить о помощи; Stack Overflow - это сайт добровольцев, которые здесь, чтобы попытаться помочь, так что это ожидание. –
Ваш пример кода недействителен. Пожалуйста, исправьте это. Нам не нужно синтаксически корректировать ваш код. –