mksquashfs не исключая файл

У меня проблемы с исключением конкретного файла из squashfs. Я хочу иметь возможность исключить все типы файлов, оканчивающиеся на * .db, но мне не повезло.

Всякий раз, когда я запускаю команду mksquashfs с аргументами для исключения файла, он всегда включает файл. Я перепробовал много разных вариантов команды. Мой тестовый скрипт ниже:

#!/bin/bash

OPT="-regex -e '*.db' "

echo -e "Creating squashfs..."
mksquashfs test test.package ${OPT}
echo "Ran the following command: mksquashfs pf test.package ${OPT}"

echo -e "Uncompressing squashfs..."
mkdir pf_post
unsquashfs -f -d test_post/ test.package 

echo
read -p "press any key to continue..."

rm test.package
rm -r test_post

Дерево тестового каталога ниже. Оба экземпляра test.db должны быть исключены, но, похоже, он не работает.

test
├── test
│   └── test.db
├── test.ab
├── test.cd
├── test.db
├── test.ef
├── test.gh
└── test.sh
1
задан 26 May 2015 в 21:37

2 ответа

Так, (развернутая) рассматриваемая командная строка читает:

mksquashfs test test.package -regex -e '*.db'

проблема, Вы не используете regex, Вы используете подстановочный знак оболочки. Согласно mksquashfs страница справочника, -regex опция позволяет использование регулярных выражений POSIX, и -wildcards позволяет "расширенным подстановочным знакам оболочки (globbing) использоваться в, исключают директоров/файлы". Так, просто замените -regex -wildcards в той командной строке, и она должна работать.

0
ответ дан 27 May 2015 в 07:37
  • 1
    большое спасибо это работало. когда я открываю его в терминале и видел ошибку, я в значительной степени знал то, что произошло. Мысль никогда не происходила со мной. Снова большое спасибо Anwar. Это прослушивало меня в течение довольно долгого времени, и я даже начал использовать Okular, но мне всегда нравилось, Проявляют больше. – gabs.1BB3 30 August 2016 в 02:20

На мой вопрос ответили в https://stackoverflow.com/questions/45555796/mksquashfs-not-excluding-file

, я должен был использовать подстановочные знаки вместо этого с эти ... добавленный перед моим исключением как показано ниже. Очень важно включать пространство между ... и эти *.db, иначе это не будет работать. Я полагаю, что попробовал этот метод по рекомендации прежде, но не понял, когда я попробовал его, что было пространство между теми двумя.

mksquashfs test test.package -wildcards -e '... *.db'
0
ответ дан 27 May 2015 в 07:37

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

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