Где журнал Cinnamon LookingGlass?

libarchive bsdtar может обрабатывать большинство этих форматов файлов, поэтому вы можете:

find . \( -name '*.zip' -o     \
          -name '*.tar' -o     \
          -name '*.tar.gz' -o  \
          -name '*.tar.bz2' -o \
          -name '*.tar.xz' -o  \
          -name '*.tgz' -o     \
          -name '*.tbz2' -o    \
          -name '*.7z' -o      \
          -name '*.iso' -o     \
          -name '*.cpio' -o    \
          -name '*.a' -o       \
          -name '*.ar' \)      \
       -type f                 \
       -exec bsdtar tf {} '*vacation*jpg' \; 2> /dev/null

Что вы можете упростить ( и улучшите соответствие без учета регистра) с помощью GNU find с помощью:

find . -regextype egrep \
       -iregex '.*\.(zip|7z|iso|cpio|ar?|tar(|\.[gx]z|\.bz2)|tgz|tbz2)' \
       -type f \
       -exec bsdtar tf {} '*vacation*jpg' \; 2> /dev/null

Это не печатает путь к архиву, в котором находятся файлы * vacation * jpg . Чтобы напечатать это имя, вы можете заменить последнюю строку на:

-exec sh -ac '
   for ARCHIVE do
     bsdtar tf "$ARCHIVE" "*vacation*jpg" |
       awk '\''{print ENVIRON["ARCHIVE"] ": " $0}'\''
   done' sh {} + 2> /dev/null

, что даст следующий результат:

./a.zip: foo/blah_vacation.jpg
./a.zip: bar/blih_vacation.jpg
./a.tar.gz: foo/blah_vacation.jpg
./a.tar.gz: bar/blih_vacation.jpg

Или на zsh :

setopt extendedglob # best in ~/.zshrc
for archive (**/*.(#i)(zip|7z|iso|cpio|a|ar|tar(|.gz|.xz|.bz2)|tgz|tbz2)(.ND)) {
  matches=("${(f@)$(bsdtar tf $archive '*vacation*jpg' 2> /dev/null)"})
  (($#matches)) && printf '%s\n' "$archive: "$^matches
}

Обратите внимание, что существует ряд других форматов файлов, которые просто zip или tgz файлы, замаскированные, например файлы .jar или .docx . Вы можете добавить их в свой шаблон поиска find / zsh , bsdtar не заботится о расширении (например, он не полагается на расширение для определения типа файла).

Обратите внимание, что * vacation * .jpg выше соответствует полному пути к члену архива, а не только имени файла, поэтому он будет совпадать с vacation.jpg , но также и с отпуск / 2014 / file.jpg .

Чтобы сопоставить только имя файла, можно использовать режим extract , использовать -s (подстановка), который использует регулярные выражения с p флаг, чтобы напечатать имена совпадающих файлов, а затем убедиться, что файл не извлечен, например:

bsdtar -'s|.*vacation[^/]*$||' -'s|.*||' -xf "$archive"

Обратите внимание, что он выводит список на stderr и добавляет >> в каждую строку. В любом случае bsdtar , как и большинство реализаций tar , может искажать имена файлов на дисплее, если они содержат некоторые символы, такие как новая строка или обратная косая черта (отображаемые как \ n или \ ).

24
29.03.2016, 18:08
1 ответ

В Cinnamon 3.8.x файл glass.logбыл объединен в файл ~/.xsession-errors.

Вы можете просматривать и фильтровать только (просматриваемые)glass.logзаписи на вкладке Журнал приложения Melange -Cinnamon Debugger. Чтобы открыть Melange, щелкните правой кнопкой мыши на панели задач в Cinnamon и выберите Устранение неполадок Зеркало .

22
27.01.2020, 19:41

Теги

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