Ошибка предлагает HTTP 401 (не авторизованный) ответ. Таким образом, IE определенно отправляет учетные данные, это - сервер, который отклоняет их.
Я предполагаю, что Firefox успешно выполняется, потому что он использует стандартную аутентификацию, тогда как IE использует аутентификацию NTLM. Попытайтесь отключить все типы аутентификации для своего "сайта" значения заголовка хоста за исключением основного.
Иначе
{ grep ...; bzgrep ...;} >file
&&
испытывает затруднения что bzgrep
не был бы выполнен если grep
неудавшийся.
Отметьте обязательное пространство после вводной изогнутой фигурной скобки и точки с запятой после последней команды. С другой стороны, можно использовать синтаксис подоболочки (круглые скобки вместо фигурных скобок), который не так придирчив:
(grep ...; bzgrep ...) >file
bzgrep автоматически принимают значение по умолчанию к регулярному grep, если файл не bzip-сжат. Таким образом следующее должно быть достаточным:
bzgrep person@domain.com maillog *bz2 | mail -s "logs yay" someuser@blah
о, также, конечно, вот мое обязательное решение для Параллели GNU также:
parallel -m bzgrep person@domain.com ::: maillog* *bz2 | mail -s "logs yay" someuser@blah
который мог быть намного быстрее, если Вы проверяете много файлов.
Вот другой способ сделать это (предположение, что Вы выполняете удар, который Вы, вероятно):
cat <(bzgrep ...) <(grep ...)
Здесь удар прозрачно подает вывод bzgrep и команд grep в кошку, как будто они были файлами (и они сортируют, находятся под капотом, деталями в URL внизу).
В Вашем особом случае я рекомендовал бы решение Phil, но вышеупомянутое является хорошим приемом для хранения в сумке.
Если Вам интересно, можно читать больше здесь: http://www.tldp.org/LDP/abs/html/process-sub.html
Во время написания этого, синтаксис принятого ответа был неправильным для большинства, если не для всех, оболочек, полученных Борном, включая bash
. Я предложил редактирование сверху и принял ответ, чтобы исправить это, но я также был склонен добавить всю эту информацию, и это было бы скорее переписывание вместо редактирования.
Вы можете использовать составные команды:
{ grep ...; bzgrep ...; } >file
...или подоболочки (обратите внимание на круглые скобки вместо фигурных скобок):
(grep ...; bzgrep ...) >file
...чтобы сгруппировать команды. Способ подоболочек имеет более приятный синтаксис (более щадящий недостаток пробелов и позволяющий опустить последнюю точку с запятой), но он либо вилкирует новый процесс, либо "притворяется", выполняя команды в очищенном окружении. У обоих есть преимущества в зависимости от того, что вы хотите сделать, что здесь не имеет значения, но стоит поискать, если вы хотите больше знать оболочку.
Примечание: Вы можете использовать обвязку и с этими трюками, так что вы можете сделать что-то вроде этого:
{ grep ...; bzgrep ...; } | less
P.S. Если вас не волнует порядок следования совпадений в вашем комбинированном выводе, вы можете использовать одну единственную и
между двумя командами, например, так: { grep ... & bzgrep ...; }
. Затем одновременно выполняются две команды: запускается grep
и оболочка помещает его в фон, затем оболочка запускает bzgrep
. (Но есть небольшое предостережение по этому поводу, объяснение, включающее перенаправление файла и буферизацию файлового потока, может привести к тому, что очень маленькая часть строк в выходном файле будет разбита/смешана: увидите ли вы это, будет зависеть от того, как реализованы ваши функции grep
, bzgrep
, и libc
stdio.h
. В большинстве реализаций, я считаю, что конвейерная обработка команды перед перенаправлением в файл позволит избежать проблемы, поэтому вы можете сделать { foo & bar; }. | cat - > file
в качестве обходного пути.)