Как выбрать на основе белого/черного списка с помощью jq

Вы можете использовать опцию tar's -I, указав "программу сжатия":

tar -cvf archive.lz -I 'lzip -9' file1.txt file2.txt

Или вы можете направить вывод tarчерезlzip:

tar -cvf - file1.txt file2.txt | lzip -9 > archive.lz

Оба варианта описаны в GNU tar manual(поиск первого-I).

3
03.09.2021, 12:42
1 ответ

Используя select, anyи all, ваш фильтр сводится к

jq  --argjson allowlist "$allowlist" \
    --argjson blocklist "$blocklist" '.[] | 
        select( any (.my_key ; contains( $allowlist[] ) ) ) | 
        select( all (.my_key ; contains( $blocklist[] ) | not ) )'

Добавьте ascii_downcaseк значению my_keyв приведенном выше фильтре, если вам нужно containsдля работы со всеми строчными буквами.

5
03.09.2021, 14:21

Теги

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