Вам не о чем беспокоиться. Данные в томе не будут перекрываться с метаданными. Иначе было бы очень сложно справиться! Например, так будет выглядеть каждый из ваших дисков (без масштабирования):
[--------------------- sda ------------------------]
[---][------------------ sda1 ---------------------]
[---][----------------------------------------]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ one copy of the data in /dev/md0
^^^^ superblock
^^^^ partition table
Таблица разделов не содержится в разделе, а метаданные RAID не содержатся внутри тома RAID. Когда вы помещаете содержимое в том RAID, это содержимое будет занимать часть, не занятую метаданными. Никаких особых договоренностей делать не нужно.
Вы почти у цели, попробуйте следующее:
sudo sed 's/,\([0-9]\{1,2\}\)/,\1\)/g' filename
Здесь в дополнение к вашей команде я только что добавил \ {1,2 \}
, которое соответствует предыдущему регулярному выражению от одного до двух раз, то есть от одного до двух раз.
\ ([0-9] \ {1,2 \} \)
объяснил:
[0-9]
будет соответствовать одной цифре от 0 до 9 {1,2}
будет соответствовать предыдущему регулярному выражению от одного до максимум двух раз. Итак, одно совпадение является обязательным, а второе - необязательным (как вы хотите) ()
создаст группу регулярных выражений, чтобы мы могли ссылаться на нее позже. Также обратите внимание, что мы использовали символ '\' перед всем расширенным синтаксисом регулярных выражений, чтобы они не обрабатывались буквально. Мы могли бы использовать переключатель -r
(расширенное регулярное выражение) с gnu sed
, в этом случае мы могли бы просто написать:
sudo sed -r 's /, ([0 -9] {1,2}) /, \ 1 \) / g 'filename
РЕДАКТИРОВАТЬ : если вы хотите сопоставить любое количество цифр (минимум одну) после запятой, вы можете сделать :
sudo sed 's/,\([0-9]\{1,\}\)/,\1\)/g' filename
или проще:
sudo sed 's/,\([0-9]\+\)/,\1\)/g' filename