Вот моя попытка awk
.
awk 'BEGIN{print "id,name,tid,mod,state,appnbr,request,tasknbr,appctx,username"}NR>2{print $1","$2","$3","$4","$5","gensub(/:/,",","g",$6)}' file.txt
:
на "," Я бы решил это старым добрым -модным способом.
newfs /dev/ada1s1
mount /dev/ada1s1 /mnt
cd /mnt
dump -0a -f - /dev/ada0s1 | restore -rf -
gpart bootcode -b /boot/mbr -p /boot/boot1 ada1
Это создает новую файловую систему, монтирует ее и входит в целевой каталог, потому что там должно работать восстановление. Он копирует всю файловую систему с помощью классических средств резервного копирования (, которые никогда не дают сбоев для UFS ). Последняя команда записывает загрузочный код.
Отказ от ответственности :Пожалуйста, всегда проверяйте команды, потому что это, конечно же, разрушительно, если какой-то параметр неверен!! Вы должны понимать, что здесь делается.
Во-первых, вам нужна резервная копия на случай, если что-то пойдет не так. Вам нужны инструменты для файловой системы, которую вы используете, какой бы она ни была.
Во-первых, вам нужна программа, которая логически сожмет ваш раздел в используемой вами файловой системе. Я делал это несколько раз раньше с ntfs и ext3, но идея одинакова для каждой файловой системы.
Я предполагаю, что ваш образ является образом раздела (sda1.img
), если это весь диск (sda.img
), то либо «извлеките» только раздел, либо поместите (весь образ )на физический диск (1 ТБ+ )и работайте над этим. Позже вы скопируете свою работу на новый 500-гигабайтный диск. Причина этого в том, что ваша программа изменения размера может не поддерживать смещение раздела, как в случае с образом всего диска.
your old disk (sda):
+--------+----------------+---...
| mbr... | sda1 (system) | sda2...
+--------+----------------+---...
1. Используйте ntfsresize
/ tune2fs
/ whatever-fs-resizer
, чтобы уменьшить файловую систему вашего раздела(/dev/sda1
(на физическом диске )/sda1.img
(в образе )). Это уменьшит размер вашей файловой системы в образе (раздела )
2. Создайте новую таблицу разделов на новом (500 ГБ )диске (/dev/sdb
), которая может поместиться в системный раздел с измененным размером плюс дополнительный мегабайт, чтобы файловая система поместилась в новый раздел(/dev/sdb1
). Используйте для этого fdisk/cfdisk/(g)parted/whatever-you-like
. Не забудьте сделать /dev/sdb1
загрузочным.
Технически можно точно рассчитать, сколько вам потребуется, но не беспокойтесь -ваш ресайзер должен иметь возможность изменять размер вашей файловой системы (на/dev/sdb1
)чтобы заполнить весь раздел (это на потом ).
3. Скопируйте измененный размер sda1.img
в новый пункт назначения/dev/sdb1
(с помощью dd
или cat
, даже :$ cat sda1.img > /dev/sdb1
)
4. Отформатируйте другие разделы /dev/sdb2|3|4...
в соответствии с вашими потребностями.
5. Наслаждайся своей работой.