Как я перенаправляю только stderr?

Иначе должен был бы использовать, находят и xargs: (это могло бы включать a"." каталог в zip, но это должно все еще извлечь правильно. С моим тестом zip разделила точку перед сжатием), find . -type f -exec zip zipfile.zip {} +

( + может быть заменен \; если Ваша версия find не поддерживает + конец для должностного лица. Это будет медленнее хотя...),

Это будет по умолчанию включать все подкаталоги. На GNU находят -maxdepth может предотвратить это.

12
04.11.2013, 05:36
2 ответа

Ваша первая попытка была корректна; 2>filename то, как Вы перенаправляете stderr. Может иметь место, что Ваша программа пишет некоторые неошибки в stderr, или программа Java запускает другие программы, которые производят к stderr.

15
27.01.2020, 19:55

Простой ответ - то, что это не возможно. Стандартная погрешность используется для записи диагностического вывода, и это до приложений для определения то, что является диагностикой/выводом ошибок. Это согласно стандарту POSIX.

1
27.01.2020, 19:55
  • 1
    Если Вы собираетесь процитировать спецификацию POSIX, процитируйте определенный раздел а не весь документ. Это огромно. –  jordanm 04.11.2013, 06:42
  • 2
    С тех пор, когда не возможно перенаправить stderr в файл в POSIX? Необходимо будет обеспечить фактическую кавычку для этого. –  l0b0 04.11.2013, 10:56
  • 3
    @l0b0, который не является тем, что заявляет Jeight. Это до приложений для решения то, что переходит к STDOUT и что переходит к STDERR; было бы совершенно возможно пихаться, все в STDOUT, например, и затем перенаправляющий STDERR не будет иметь никакого эффекта. Или, как в этом случае, возможно (и общепринятая практика) поместить некоторые вещи, которые не являются строго ошибками в STDERR. Единственным путем было бы возможно проанализировать ошибки от другой диагностики, будет то, если ошибки будут отмечены с 'ОШИБКОЙ': или что-то. Может быть переключатель многословия, который мог помочь, но это является определенным для программы. –  evilsoup 04.11.2013, 13:05
  • 4
    OP создал две семантически различных проблемы: "перенаправьте только stderr в файл, названный ошибкой" и "Я хочу, чтобы этот ошибочный файл отобразился, еще, ошибки, ничто". Первая часть того, конечно, не невозможна, моя точка. –  l0b0 05.11.2013, 15:13
  • 5
    @l0b0 у Вас есть он назад. OP определенно может перенаправить stderr в файл, названный ошибкой. Он не может выбрать, какие выводы Java как stderr, потому что содержанием stderr управляет приложение а не пользователь. То, что он может сделать, является grep файл, что stderr был передан для фактических сообщений об ошибках. –  Jeight 05.11.2013, 20:01

Теги

Похожие вопросы