Я выполняю команду, чтобы узнать количество файлов в папке рекурсивно. Существуют и другие процессы, которые позволяют помещать файлы в эту папку.Ошибка при выполнении команды оболочки с использованием backtick в ruby
Пример команды:
ls -1 -rt /dump > /segmentizer.out 2> /segmentizer.err
Иногда она возвращается ошибка (ArgumentError) и программа просто зависает в этой точке. Здесь ошибка
negative string size (or size too big)
/usr/lib/ruby/gems/1.8/gems/activesupport-2.3.17/lib/active_support/core_ext/kernel/agnostics.rb:7:in ``'
Спасибо Ananthram
'ls' предназначен для чтения человеком. 'find' предназначен для рекурсивного поиска в каталоге и выполнения действий над файлами. Я подозреваю, что вам совсем не нужен Ruby (если вы создаете правильную команду 'find'), но если вы настаиваете на ее использовании, существует' find' stdlib для простого выполнения такого рода вещей. – Max