Инструменты Unix несовместимы, вам нужно проверить страницу руководства каждого из них.
Утилиты LVM согласованы, и некоторые (но не все) страницы руководства содержат подробности. Например, из lvs (8) :
Все размеры выводятся в следующих единицах: (h) читаемые человеком, (b) ytes, (s) ectors, (k) ilobytes, (m ) эгабайт, (g) igabytes, (t) erabytes, (p) etabytes, (e) xabytes. Используйте заглавные буквы, чтобы использовать кратное 1000 (S.I.) вместо 1024.
Т.е. b
или B
- байты, s
или S
- сектора (из 512 байт), K
- 1000 байтов (килобайт SI), k
- 1024 байта (кибибайт), M
- 1000000 байтов (мегабайт SI), M
- 1048576 байтов (мебибайт) и т. д. .
В более общем смысле, b
никогда не является битами в контексте размеров файла или диска; обычно это байты, но иногда они могут быть блоками (и размер блоков также зависит от инструмента). Префиксы k / m / g / t / p / e могут означать степень 1000 или степень 1024 в зависимости от инструмента и иногда от заглавных букв. S для секторов, как в LVM, необычно. Другая общая единица измерения (не используемая LVM) - c
для байтов; это происходит от персонажа c , еще до того, как многобайтовые символы были распространены.
У вас есть конвейер, состоящий из четырех команд:
find
, в котором перечислены zip-файлы. parallel
, который вызывает unzip
для извлечения одного файла из каждого zip-файла. Поскольку {}
заменяется путем к zip-файлу, вы пытаетесь извлечь файлы типа 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
в качестве аргумент параллельно
.
find *_fastqc.zip -type f | sed 's/\.zip$//' |
parallel -j 3 'unzip -c {}.zip {}/fastqc_data.txt | crimson fastqc /dev/stdin' |
less