Параллельно читать содержимое заархивированного файла без извлечения

У меня есть следующая структура архива zip:

$ unzip -l Undetermined_S0_L004_R1_001_fastqc.zip Archive: Undetermined_S0_L004_R1_001_fastqc.zip Length Date Time Name -------- ---- ---- ---- 0 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/ 0 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/Icons/ 0 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/Images/ 1197 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/Icons/fastqc_icon.png 1450 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/Icons/warning.png 1561 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/Icons/error.png 1715 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/Icons/tick.png 782 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/summary.txt 9095 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/Images/per_base_quality.png 14381 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/Images/per_tile_quality.png 23205 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/Images/per_sequence_quality.png 30978 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/Images/per_base_sequence_content.png 31152 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/Images/per_sequence_gc_content.png 7861 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/Images/per_base_n_content.png 18356 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/Images/sequence_length_distribution.png 23040 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/Images/duplication_levels.png 9096 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/Images/adapter_content.png 58683 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/Images/kmer_profiles.png 355919 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/fastqc_report.html 301092 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/fastqc_data.txt 10117 10-10-14 14:44 Undetermined_S0_L004_R1_001_fastqc/fastqc.fo -------- ------- 899680 21 files 

Как можно использовать fastqc_data.txt с crimson параллелью, потому что на данный момент я получаю следующую ошибку:

 find `pwd`/*_fastqc.zip -type f | parallel -j 3 unzip -c {} {}/fastqc_data.txt | crimson fastqc {} | less Usage: crimson fastqc [OPTIONS] INPUT [OUTPUT] Error: Invalid value for "input": Path "{}" does not exist. 

One Solution collect form web for “Параллельно читать содержимое заархивированного файла без извлечения”

У вас есть трубопровод из четырех команд:

  • find , в котором перечислены zip-файлы.
  • parallel , который вызывает unzip для извлечения одного файла в каждом zip-файле. Учитывая, что {} заменен на путь к zip-файлу, вы home/user977828/stuff/Undetermined_S0_L004_R1_001_fastqc.zip/fastqc_data.txt из архива файлы, например home/user977828/stuff/Undetermined_S0_L004_R1_001_fastqc.zip/fastqc_data.txt (если текущий каталог – /home/user977828/stuff ).
  • crimson , который получает беспорядок извлеченных файлов на стандартном вводе и вызывается с аргументами fastqc и {} ,
  • less .

parallel заменяет {} в своих аргументах. Он не может ничего сделать с другими частями вашего трубопровода. Если вы хотите вызывать crimson на каждом файле fastqc_data.txt отдельно, вам нужно передать конвейер от unzip до crimson в качестве аргумента для parallel .

 find *_fastqc.zip -type f | sed 's/\.zip$//' | parallel -j 3 'unzip -c {}.zip {}/fastqc_data.txt | crimson fastqc /dev/stdin' | less 
  • Разархивировать архив с одним файлом и переименовать вывод в соответствии с именем архива
  • Только чтение файлов файловой системы в формате .zip
  • Как разбить несколько разделенных файлов в разных подпапках
  • Bash, чтобы получить результат передачи rsync и закрепить его как каталог в исходном каталоге
  • Есть ли команда для перечисления сжатых размеров файлов для файлов в .zip-файле?
  • file-roller: произошла ошибка при загрузке архива (Zip / 7z)
  • Возможно ли в unix выполнять поиск внутри zip-файлов
  • Распаковать все несуществующие или более старые файлы из архива
  • почему бы вам tar zip-файл
  • Как сделать zip / unzip в командной строке unix?
  • Как добавить огромный архив в архив и удалить его параллельно
  • Interesting Posts

    Использование переменной bash с escape-символом в awk для извлечения строк из файла

    комбинировать поиск с другими командами: когда использовать -exec и когда использовать трубу?

    Есть ли способ отслеживать пропускную способность во времени, например, дни, месяцы?

    Предварительно кэшированный унисон

    Linux – Сброс корневого концентратора Linux Foundation 2.0

    Могу ли я обновить все пользователи crontabs?

    Как я могу использовать fdisk для создания раздела ntfs на / dev / sdx?

    Начать установку пакета, когда рабочий закончен

    Размер файла: размер контента и то, что видно

    Скопируйте конкретный подкаталог и сохраните структуру дерева каталогов

    Сценарий Bash для вставки информации после каждой строки блока данных

    Использовать другую оболочку по умолчанию в каждом эмуляторе терминала

    Где получить новую строку после запуска `sub` в awk

    Получить имя файла после find -name | xargs

    Как «расширить» переменную bash (включенный код работает для bash, но не zsh)

    Linux и Unix - лучшая ОС в мире.