/** * {@inheritdoc} */ protected function buildFormatSorting(ehough_finder_shell_Command $command, $sort) { switch ($sort) { case ehough_finder_iterator_SortableIterator::SORT_BY_NAME: $command->ins('sort')->add('| sort'); return; case ehough_finder_iterator_SortableIterator::SORT_BY_TYPE: $format = '%HT'; break; case ehough_finder_iterator_SortableIterator::SORT_BY_ACCESSED_TIME: $format = '%a'; break; case ehough_finder_iterator_SortableIterator::SORT_BY_CHANGED_TIME: $format = '%c'; break; case ehough_finder_iterator_SortableIterator::SORT_BY_MODIFIED_TIME: $format = '%m'; break; default: throw new InvalidArgumentException(sprintf('Unknown sort options: %s.', $sort)); } $command->add('-print0 | xargs -0 stat -f')->arg($format . '%t%N')->add('| sort | cut -f 2'); }
/** * {@inheritdoc} */ protected function buildFormatSorting(ehough_finder_shell_Command $command, $sort) { switch ($sort) { case ehough_finder_iterator_SortableIterator::SORT_BY_NAME: $command->ins('sort')->add('| sort'); return; case ehough_finder_iterator_SortableIterator::SORT_BY_TYPE: $format = '%y'; break; case ehough_finder_iterator_SortableIterator::SORT_BY_ACCESSED_TIME: $format = '%A@'; break; case ehough_finder_iterator_SortableIterator::SORT_BY_CHANGED_TIME: $format = '%C@'; break; case ehough_finder_iterator_SortableIterator::SORT_BY_MODIFIED_TIME: $format = '%T@'; break; default: throw new InvalidArgumentException(sprintf('Unknown sort options: %s.', $sort)); } $command->get('find')->add('-printf')->arg($format . ' %h/%f\\n')->add('| sort | cut')->arg('-d ')->arg('-f2-'); }
/** * @param ehough_finder_shell_Command $command * @param string $dir * * @return ehough_finder_shell_Command */ protected function buildFindCommand(ehough_finder_shell_Command $command, $dir) { return $command->ins('find')->add('find ')->arg($dir)->add('-noleaf'); // the -noleaf option is required for filesystems that don't follow the '.' and '..' conventions }