Попытайтесь использовать losetup
команда для создания файла изображения читаемым спрашивает диск так, чтобы можно было скопировать разделы с него непосредственно к жесткому диску:
Выполненный sudo losetup -f
проверять следующее доступное устройство закольцовывания (это возвратит loopx, где x является следующим циклическим устройством).
Выполненный sudo losetup /dev/loopx whereyourimgfileis
Теперь Вам смонтировали .img файл как блочное устройство, таким образом, можно открыть его с GParted (или дополнительно другой редактор раздела по Вашему выбору; однако, я думаю (GParted является лучшим):
Выполненный sudo gparted /dev/loopx /dev/sda
Теперь скопируйте эти два раздела от/dev/loopx до расширенного раздела на Вашем жестком диске (sda). Вы, вероятно, уже знаете, что строка конфигурации grub2 включает /etc/grub/d/40_custom
загружать его:
menuentry "ChromiumOS" {
insmod ext2
корень набора = (hd0, x)
тихий linux/boot/vmlinuz root=LABEL=C-ROOT rw noresume noswap i915.modeset=1 loglevel=1
initrd/boot/initrd.img
}
grep -oP 'sum=\K.*' inpufile > outputfile
GREP с -P
(Perl-Regexp) Parameter поддерживает \ k
, которые используют для игнорирования ранее соответствия символы.
awk -F"=" '{print $NF}' inputfile > outputfile
awk NF
дает вам общее количество полей в записи / строке. Таким образом, последнее значение это последнее число поле в записи / строке.
sed 's/^.*sum=//' inpufile > outputfile
^. * = Сумма
Заменить все символы (. *
) между началом строки ( ^
) и последних символов ( SUM =
) с пробелом чар.
Результат:
-6.97168e-09
6.97168e-09
-5.12623e-12
5.12623e-12
-6.936e-09
6.97169e-09
-5.1e-12
5.12624e-12
Если вы хотите сохранить каждое значение в отдельный файл, используйте выше команды в цикл While While:
while read line; do
echo "$line" | grep -oP 'sum=\K.*' > $(echo "$line" |awk '{print $2}');
#echo "$line" | awk -F"=" '{print $NF}' > $(echo "$line" |awk '{print $2}');
#echo "#line" | sed 's/^.*sum=//' > $(echo "$line" |awk '{print $2}');
done < file
Если я правильно понимаю вопрос, который вы хотите Получите только значения после =
и храните эти значения в отдельных файлах, на основе второго поля (?). Если я правильно, попробуйте что-то вроде этого:
$ awk -F'[ =]' '{print $6>"file_"$2".txt"}' file
Результат:
$ ls -1
file_leftWallPhi.txt
file_leftWallUSf.txt
file_leftWallrhoPhi.txt
file_leftWallrhoUSf.txt
file_loweWallrhoPhi.txt
file_loweWallrhoUSf.txt
file_lowerWallPhi.txt
file_lowerWallUSf.txt
$ cat file_leftWallPhi.txt
5.12623e-12
можно сделать это sed
sed -E 's/^.* (\S+)\s*:.*=(\S+)/echo "\2" > "\1".txt/' file | bash
, сценарий узнает две шт. в строке:
:
и должен содержать некоторых (более затем 0) несимволы пробела; =
; и формат от в команде выполнения, которая передала через канал удар