Прочитать конкретный файл содержимого из tar.gz файлов без извлечения

Пользователи могут быть либо людьми, что означает учетные записи, привязанные к физическим пользователям, так и учетные записи, которые существуют для конкретных приложений. Группы - это логические выражения организации, связывающие пользователей для общей цели. Пользователи в группе могут читать, записывать или выполнять файлы, принадлежащие этой группе.

Каждый пользователь и группа имеют уникальный числовой идентификационный номер, называемый идентификатором пользователя (UID) и агрогруппой (GID) соответственно. Пользователь, создающий файл, также является владельцем и владельцем этого файла. Файлу назначаются отдельные права на чтение, запись и выполнение для владельца, группы и всех остальных. Владелец файла может быть изменен только пользователем root, а разрешения доступа могут быть изменены как пользователем root, так и владельцем файла.

Источник: http://www.bayt.com/ о / Специальность / д / 110533 / что-это-разностного-между-а-пользователь-группа-и-другой-в-красно-хет-Linux-что-это-заместитель потребительного из-группы-ownership- амп-пользователем собственности в своем-файл или папка /

1
задан 14 November 2017 в 13:38

4 ответа

Как указано в комментариях, вам нужно использовать zgrep для сжатых архивов, однако то, что вы делаете, добавляет -r в список опций, который не поддерживается zgrep, который поставляется с Ubuntu.

-r используется для рекурсивного обхода дерева каталогов. Мы можем сделать то же самое с командой find и использовать флаг -exec для запуска zgrep для каждого найденного сжатого архива.

Поскольку у меня нет никакого примера используемых вами архивов, приведенная ниже команда является лишь примером. При необходимости отрегулируйте:

find -type f -name "*.tar.gz" -exec zgrep -a "ERROR24" /home/tests/logs > /home/files/data/result/listErrors.txt \;

Обратите внимание, что здесь -l нельзя реально использовать, поскольку в нем отображается только имя файла самого архива. Кроме того, вы всегда можете использовать zcat и фильтровать свой вывод с помощью grep, но это, вероятно, больше хлопот, чем необходимо.

1
ответ дан 18 July 2018 в 04:07

Если вы имеете в виду просто просмотр того, что находится в архиве, вы можете просто изменить то, что он открывает или делает из контекстного меню, когда вы нажимаете на архив. Как и при сбросе приложения / действия по умолчанию.

Я знаю, что для большого количества архивов действие по умолчанию теперь заключается в его монтировании ... по любой причине или для автоматического извлечения.

Или вы ищете решение с командной строкой?

0
ответ дан 18 July 2018 в 04:07

Как указано в комментариях, вам нужно использовать zgrep для сжатых архивов, однако то, что вы делаете, добавляет -r в список опций, который не поддерживается zgrep, который поставляется с Ubuntu.

-r используется для рекурсивного обхода дерева каталогов. Мы можем сделать то же самое с командой find и использовать флаг -exec для запуска zgrep для каждого найденного сжатого архива.

Поскольку у меня нет никакого примера используемых вами архивов, приведенная ниже команда является лишь примером. При необходимости отрегулируйте:

find -type f -name "*.tar.gz" -exec zgrep -a "ERROR24" /home/tests/logs > /home/files/data/result/listErrors.txt \;

Обратите внимание, что здесь -l нельзя реально использовать, поскольку в нем отображается только имя файла самого архива. Кроме того, вы всегда можете использовать zcat и фильтровать свой вывод с помощью grep, но это, вероятно, больше хлопот, чем необходимо.

1
ответ дан 24 July 2018 в 18:00
  • 1
    спасибо за помощь. (я новичок). я пробовал ваш совет, и я получаю & quot; -exec: команда не найдена & quot; – JamesJimmy 6 November 2017 в 12:06
  • 2
    если я использую трубу | вместо -exec, я не получаю ошибку, но у меня нет результата. что означает, что он не работает. – JamesJimmy 6 November 2017 в 14:20
  • 3
    @JamesJimmy Извините, exec должен быть прерван с помощью \;. Я обновлю свой ответ – Sergiy Kolodyazhnyy 6 November 2017 в 23:08

Если вы имеете в виду просто просмотр того, что находится в архиве, вы можете просто изменить то, что он открывает или делает из контекстного меню, когда вы нажимаете на архив. Как и при сбросе приложения / действия по умолчанию.

Я знаю, что для большого количества архивов действие по умолчанию теперь заключается в его монтировании ... по любой причине или для автоматического извлечения.

Или вы ищете решение с командной строкой?

0
ответ дан 24 July 2018 в 18:00
  • 1
    решение с командной строкой = да, я. слишком много архивов, невозможно сделать это вручную. поэтому, пожалуйста, сообщите, как я могу это сделать? благодаря – JamesJimmy 1 November 2017 в 21:03

Другие вопросы по тегам:

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