Извлечь файл из образа ext4 и скопировать файл на устройство

\x расширяется до того, что захвачено в группе захвата x th , причем группы захвата нумеруются слева направо в зависимости от наличия открывающей скобки в регулярном выражении.

echo "abcd_aefghi" | sed -r "s/(a)(b)(c)(d)|(a)(e)(f)(g)/\8/g;"
                               1  2  3  4   5  6  7  8

Это регулярное выражение совпадает дважды. Один раз на abcd(, где 8 группа захвата ничего не захватывает )и один раз на aefg, где 8 группа захвата захватывает g. Таким образом, abcdзаменяется ничем, а aefgна g, а _и hiостаются нетронутыми, поэтому вы получаете _ghi, как и ожидалось.

В:

sed -r "s/(a)(b)(c)(d)()|((a)(e)(f)(g))/\8/g"
          1  2  3  4  5  67  8  9  10

Вы получаете _ehi, потому что 8-я группа теперь (e).

sed -r "s/(a)(b)(c)(d)()||||i am Not comment, Whats going here?|||||||((a)(e)(f)(g))/\8/g"
          1  2  3  4  5                                               67  8  9  10

ничем не отличается. За исключением (, хотя этого не видно ), что из-за ||будут пустые совпадения между hи iи дополнительный в конце (еще несколько сperl).

сброс чисел на основе оператора чередования не сделал бы очень удобный API. Если вы хотите расширить до того, что соответствует 4 й группе захвата по обе стороны от чередования в вашем примере, вы всегда можете сделать:

sed -r 's/(a)(b)(c)(d)|(a)(e)(f)(g)/\4\8/g'
          1  2  3  4   5  6  7  8

Что дало бы вам то же самое, что иperl:

perl -lpe 's/(?|(a)(b)(c)(d)|(a)(e)(f)(g))/\4/g'
                1  2  3  4   1  2  3  4

(где \4может расширяться до того, что (d)или (g)захвачено ).

0
23.04.2020, 17:33
1 ответ

Вы можете смонтировать образ файловой системы непосредственно в свою файловую систему:

mkdir -p /mnt/img
mount -o ro,noload imagefile.img /mnt/img

, а затем вы можете получить файл непосредственно из соответствующего места под /mnt/img. (Опции ro,noloadмонтируют файловую систему только для чтения -. Опустите их оба, если вам нужен доступ для чтения/записи.)

Затем размонтируйте файл с помощью

umount /mnt/img
1
19.03.2021, 02:26

Теги

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