Необходимо сопоставить образец в KSH при разборе строк из файла

Фактически, учитывая ваш ввод / вывод - вы удаляете несколько новых строк. Это немного усложняет задачу, потому что такие вещи, как sed - в стандартной комплектации , выполняют итерацию по одной строке за раз.

Я предлагаю использовать что-то вроде perl:

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

#read everything
local $/;
#do replacement of a digit, following by one - or more - linefeeds. 
#m is multi-line, r is 'return the result' (to print)
#g is do it repeatedly. 
print <DATA> =~ s/(\d)\n+/$1 /mrg;

__DATA__
some question:       1404241

what's your name?

1498646

my name is Bond.

Это напечатает:

some question:       1404241 what's your name?

1498646 my name is Bond.

Это можно превратить в один лайнер:

perl -0777 -e 'print <> =~ s/(\d)\n+/$1 /mgr'
0
08.08.2018, 15:44
1 ответ

Наборы инструментов для разработчиков ниже версии 6 перемещены. Чтобы включить их:

yum -y install centos-release-scl
yum-config-manager --enable centos-sclo-rh-testing
0
28.01.2020, 04:15

Теги

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