Немного отличающийся подход должен был бы использовать xargs:
find /path/to/jpgs -type f -print0 | xargs -0 jhead -v | grep 123
, который я всегда находил немного легче понять и адаптироваться (-print0 и-0 аргументов необходимы для преодоления имен файлов, содержащих пробелы)
Это могло бы (не протестированный) быть более эффективным, чем использование - должностное лицо, потому что это передаст список по каналу файлов к xargs, и xargs удостоверяется, что jhead командная строка не становится слишком длинной.
Я предполагаю, что вы пытаетесь выяснить, существует ли определенное значение внутри массива, и в этом случае вы можете использовать Array # include? (Value):
a = [1,2,3,4,5]
a.include?(3) # => true
a.include?(9) # => false
Если вы имеете в виду что-то еще, проверьте Ruby Array API
для этого вы можете использовать Array.select или Array.index .
Вот так?
a = [ "a", "b", "c", "d", "e" ]
a[2] + a[0] + a[1] #=> "cab"
a[6] #=> nil
a[1, 2] #=> [ "b", "c" ]
a[1..3] #=> [ "b", "c", "d" ]
a[4..7] #=> [ "e" ]
a[6..10] #=> nil
a[-3, 3] #=> [ "c", "d", "e" ]
# special cases
a[5] #=> nil
a[5, 1] #=> []
a[5..10] #=> []
или вот так?
a = [ "a", "b", "c" ]
a.index("b") #=> 1
a.index("z") #=> nil
Используйте:
myarray.index "valuetoFind"
Это вернет вам индекс нужного элемента или nil, если ваш массив не содержит значения.
Спасибо за ответы.
Мне понравилось это:
puts 'find' if array.include?(value)