Это относительно просто с perl
:
perl -F'\s+' -lane '
push @row, [@F];
END{
@sum = @{pop @row};
@col = (0, (sort {$sum[$b] <=> $sum[$a]} (1..$#sum-1)), $#sum);
for $i ($row[0], (sort {$b->[$#sum] <=> $a->[$#sum]} @row[1..$#row]), \@sum) {
print join "\t", @{$i}[@col]
}
}'
В дополнение к уже предложенным причинам, это может быть также следующим образом:
du -md 1
снова. Исправьте ситуацию, переместив скрытую папку в другое место или установите в другое место. Учитывая только этот файл, можно выполнить следующие действия:
<testfile jq -r '.data | map(.displayName), map(.value) | join(", ")'
. Оператор
выбирает поле из объекта/хэша. Таким образом, мы начинаем с .data
, который возвращает массив с данными в нем. Затем дважды сопоставляем массив, сначала выбирая displayName, затем выбираем значение, давая нам два массива с только значениями этих ключей. Для каждого массива мы соединяем элементы с «», образуя две строки. Аргумент -r
указывает jq
не цитировать результирующий последовательности.
Если ваш фактический файл длиннее (т.е. содержит записи для более чем одного человека), вам, вероятно, потребуется что-то немного сложнее.
-121--7553-Ядро не откладывает работу в пользовательском пространстве и даже в меньшей степени использует средства пользовательского пространства для дешифрования/шифрования данных на блочных устройствах.
Если требуется собственный механизм шифрования, необходимо внедрить его в ядро и реализовать поддержку в cryptsetup и Co, чтобы использовать его.
В качестве альтернативы вы могли бы реализовать предохранитель, но я бы не рекомендовал ничего из этого, кроме как для забавы/эксперимента.