Найти и zip Несколько расширений файлов при сохранении структуры папки

Вы можете использовать команду stty , чтобы установить такие параметры.

Это покажет все настройки для первого последовательного порта (замените ttyS0 на ttyUSB0 при использовании последовательного порта USB):

stty -F /dev/ttyS0 -a

Это установит скорость передачи на 9600, 8 бит, 1 стоповый бит, без контроля четности:

stty -F /dev/ttyS0 9600 cs8 -cstopb -parenb

Одна вещь, которая обычно сбивает с толку, - это то, что большинство драйверов последовательного интерфейса сбрасывают настройки до значений по умолчанию после закрытия устройства (т. Е. Ни один процесс больше не открывает устройство). Таким образом, приведенная выше команда stty установит настройки, а когда это будет сделано, драйвер снова их сбросит. Если сначала программное обеспечение POS открывает устройство, а затем выполняет настройки stty , они должны оставаться до тех пор, пока программное обеспечение POS не закроет устройство снова (например, при выходе).

Я бы подумал, что программное обеспечение POS должно иметь возможность самостоятельно настраивать эти параметры. Если вы пишете собственное программное обеспечение для управления принтером, сначала откройте устройство, а затем выполните команду stty .

Возможно, вам также придется поэкспериментировать с другими настройками, например opost означает, что будет выполнена постобработка вывода. Если установлены оба параметра opost и onlcr , то onlcr вызовет добавление дополнительного возврата каретки (0xd) при выводе байта новой строки (0xa), обычно для предотвращения печати лестницы, такой как

This is a line
              This is the next line

Это может быть, а может и не быть тем, что вам нужно. Если вы хотите выводить на принтер необработанный однозначный вывод, выключите opost (добавьте -opost к параметрам stty ).

Подтверждение связи (управление потоком) также контролируется с помощью stty , не зная больше о принтере, я не могу сказать, нужно ли вам что-либо устанавливать.

Дополнительную информацию можно найти на странице руководства stty .

1
05.07.2018, 04:45
2 ответа

Вот как работает рекурсивная опция -rв 7z, это рекурсивный поиск по шаблону.

7z a -r "$backupfilename" \*.ini \*.cfg \*.txt

7zотлично создает zip-файлы.

Вы также можете использовать опцию multi -arg для find, если у вас почему-то нет 7zip,

find suan \( -name \*.cfg -o -name \*.txt -o -name \*.ini \) \
    -exec zip -r "$backupfilename" {} +
2
27.01.2020, 23:32

Использование findиzip:

find "$wdir" -type f '(' -name '*.cfg' -o -name '*.txt' -o -name '*.ini' ')' \
    -exec zip -r "$backupfilename" {} +

В качестве альтернативы вы можете сначала разрешить свой скрипт cdв "$wdir", а затем использовать .в команде find, в зависимости от того, какой путь вы хотите сохранить в архиве.

Это позволит найти все соответствующие файлы и заархивировать их в файле резервной копии.

В качестве альтернативы bash, если файлов не тысячи:

set -s globstar nullglob dotglob
cd "$wdir" && zip -r "$backupfilename" **/*.ini **/*.cfg **/*.txt

Задаваемые здесь параметры оболочки включают **глобус (, который маскирует пути ), расширяет нерасширенные глобусы до пустой строки и сопоставляет глобусы со скрытыми файлами.

0
27.01.2020, 23:32

Теги

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