$ cat tst.awk
NR==FNR {
groups[++numGroups] = $1
next
}
FNR==1 {
for (i=1; i<=NF; i++) {
f[$i] = i
}
}
{
printf "%s%s%s%s", $1, OFS, $2, OFS
for (groupNr=1; groupNr<=numGroups; groupNr++) {
group = groups[groupNr]
printf "%s%s", $(f[group]), (groupNr<numGroups ? OFS : ORS)
}
}
$ awk -f tst.awk group1 file
#CHROM POS P0431 P434 P435
Chr01 180349 G N G
Chr01 180372 N N A
Chr01 180389 A N N
Если вы хотите, чтобы вкладка вывода -была разделена вместо пустого -, добавьте строку в верхней части скрипта, которая говорит BEGIN { OFS="\t" }
.
Если вы хотите, чтобы выходные данные выглядели визуально табличными, вы можете сделать это с помощью printf
внутри awk или путем передачи вышеуказанного вcolumn
:
$ awk -f tst.awk group1 file | column -t
#CHROM POS P0431 P434 P435
Chr01 180349 G N G
Chr01 180372 N N A
Chr01 180389 A N N
У вас есть какие-то настройки рейда? btrfs device remove device /path
должен удалить диск. В зависимости от уровня рейда вам может потребоваться изменить баланс и уменьшить количество реплик. Вы можете попробовать использовать опцию монтирования degraded
для доступа к устройству. В общем, после того, как вы возитесь с рейдом, рекомендуется запустить btrfs device scan --all
, чтобы обновить сопоставления.