Быстрое извлечение части файла между первыми вхождениями двух строк

Вы можете предварительно выбрать окно, указав -p, 0 — первое окно, 1 — второе и т. д.

экран -x $SCREENNAME -p 0 -X материал " printf "say Backing up world: \'$WORLD\'\r""

0
09.10.2019, 14:54
1 ответ
$ sed -e 's/stringA/\n/;s/.*\n//;s/stringB.*//' file 

Удаление кода до строки A выполняется в 2 этапа. (измените строку A на новую строку, а затем удалите первую строку )вместо более очевидного «удалить все до строки A», поскольку удаление должно быть до первого вхождения строки A, а не последнего. sed не поддерживает не -жадные регулярные выражения, в отличие от многих других инструментов, таких как python и perl.

$ perl -lpe '
    my($sa, $sb) = qw/stringA stringB/;
    my $p2 = index($_, $sb);
    my $p1 = index($_, $sa)+length($sa);
    $_ = substr($_, $p1, $p2-$p1);
'  file
0
28.01.2020, 03:13

Теги

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