добавить найденный текст к строке

Опция --no-reread указывает sfdisk не проверять, используется ли устройство (например, смонтировано или подкачено).

Ошибка, которую вы получаете, связана с тем, что sfdisk сообщает kernel, что информация о разделе изменилась; ядро отвечает: "Эй, это устройство уже используется; я не собираюсь читать новые данные раздела".

Таким образом, теперь копия данных раздела в ядре отличается от фактических данных на диске.

Без --no-reread тогда sfdisk вообще не позволит вам выполнить разметку.

3
24.06.2017, 19:33
2 ответа

perlальтернативное решение:

perl -nle 'print "$_,$&" if /^b|c$/' sample.txt

Выход:

bc,b
ac,c

  • $_-относится к строке, с которой сопоставляется регулярное выражение

  • $&-возвращает всю совпавшую подстроку


С внешним Perl скриптом:

my.pl:

#!/usr/bin/perl
use strict;
use warnings;

while (<>) {
    chomp $_;
    print "$_,$&\n" if /(^b|c$)/;
}

Использование:

perl my.pl sample.txt
2
27.01.2020, 21:18

Сpcregrep:

$ pcregrep --om-separator=, -o -o1 -o2 '^(b).*|.*(c)$' sample.txt
bc,b
ac,c
2
27.01.2020, 21:18

Теги

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