Запуск Windows повреждает разделы ext4

У вас есть поля в правильном порядке, но ваш первый оператор печати добавляет новую строку (разделитель выходной записи), поэтому ваши данные есть, но просто неожиданно упакованы.

Вторая проблема заключается в том, что вы указываете printf использовать ширину 4; который включает десятичную точку и две цифры после нее, оставляя только одну для ведущей цифры и ни одной для любого заполнения. Попробуйте использовать ширину 5, чтобы ваши данные были дополнены до четырех общих чисел. Если вы хотите, чтобы перед десятичной точкой было 4 цифры , вместо этого измените ширину на 7.

Это самое короткое изменение, которое я внес в вашу программу в то, что, как мне кажется, вы хотите:

awk -F"|" '{
  format = "%05.2f,%05.2f,%05.2f"; 
  print $1","$2","$3","$4"," sprintf(format, $5,$6,$7)}' filename

Я объединил несколько блоков {} в один, а также объединил операторы печати в один.

Если бы мне пришлось написать ваш оператор awk с нуля, я мог бы сделать что-то вроде этого:

awk -v FS=\| -v OFS=, '{
  $5=sprintf("%05.2f", $5); 
  $6=sprintf("%05.2f", $6); 
  $7=sprintf("%05.2f", $7); 
  print $1,$2,$3,$4,$5,$6,$7}' filename

Он явно устанавливает разделитель входных полей, разделитель выходных полей, явно преобразует каждое из полей отдельно, а затем печатает желаемые поля с разделением OFS.

5
22.04.2018, 16:39
2 ответа

Мое предположение будет следующим.

В какой-то момент вы уменьшили файловую систему NTFS, представленную здесь как /dev/sda5, чтобы у вас было место для установки Linux. Эта файловая система NTFS не была уменьшена правильно, и ее эквивалент суперблока все еще считает, что ей доступны все 440 ГБ.

Вам нужно запустить как минимум CHKDSK или TESTDISK, чтобы проверить и исправить несоответствие между размером файловой системы и размером раздела.

0
27.01.2020, 20:43

У меня точно такая же проблема, как у вас.

И я нашел решение:

Идея состоит в том, чтобы отключить том linux из Windows 10 с помощью команды diskpart.

Подробный ответ здесь:

https://askubuntu.com/a/858159/619563

1
27.01.2020, 20:43

Теги

Похожие вопросы