Просто с помощью awk:
awk '{ r=$0; sub($1,"",r); a[$1]=(a[$1])? a[$1]"\t"r : r }
END{ for(i in a) { gsub(/[[:space:]]{2,}/," ",a[i]); print i,a[i] } }' file
r=$0
-захват копии записи
sub($1,"",r)
-удаление 1-го поля копии для сохранения остальных полей в переменной r
a[$1]=(a[$1])? a[$1]"\t"r : r
-накопление значений для той же группы (, представленной 1-м полем)
for(i in a)
-перебор всех сгруппированных элементов
gsub(/[[:space:]]{2,}/," ",a[i])
-удаление лишних пробелов между словами
print i,a[i]
-распечатать имя группы и ее значения
Выход:
DAPPUDRAFT_194440 Phosphorous Temperature
DAPPUDRAFT_196694 Salinity
DAPPUDRAFT_194512 Fishkairomones Cadmium Zinc Quantumdots
DAPPUDRAFT_194472 Phosphorous Fishkairomones Temperature
DAPPUDRAFT_196131 Salinity Phosphorous hypoxia
DAPPUDRAFT_195644 Salinity Phosphorous
[root@host]# df -h /mydir
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/myvg-mylv 10G 7.0G 3.1G 70% /mydir
показывает размер файловой системы, а не размер LV. Размер LV может легко достигать 20G (, как сообщает lvresize
); это могло произойти, например, если кто-то изменил размер LV, но не изменил размер файловой системы. Ваша команда lvresize
позаботилась об этом благодаря опции -r
.
/etc/lvm/archive
должен содержать резервные копии метаданных VG, которые должны позволить вам найти реальный размер LV перед последнимlvresize
(и команды, которые использовались на LV ).