sed grep для группировки значений по нескольким строкам - PullRequest
0 голосов
/ 27 марта 2020

У меня есть файл, который может напоминать что-то вроде этого:

function(a, b, c1, d1, e1, f1);
function(a, b, c2
    ,d2, e2
   f2);
useless things
function(a, b, c3,
         /* something lol */
         // something else */
         d3, e3
         , f3
);

Идея состоит в том, чтобы получить что-то вроде:

c1
d1
e1
f1
c2
d2
e2
f2
c3
d3
e3
f3

Я использую sed для удаления вещей, которые бесполезно между каждой функцией, поэтому я пришел с

sed -n '/function(/,/);/p' file

Здесь я получаю три функции без useless things.

Теперь я пытаюсь поместить вещь между функциями в одну строку, может быть удалите также вещи после // или между /* */. Но я не знаю, как я могу «объединить» вещи, чтобы я мог получить 3 строки вместо 10

1 Ответ

1 голос
/ 28 марта 2020

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

grep -o '[a-z][0-9]' < input_File

Демонстрация:

$cat file.txt 
function(a, b, c1, d1, e1, f1);
function(a, b, c2
    ,d2, e2
   f2);
useless things
function(a, b, c3,
         /* something lol */
         // something else */
         d3, e3
         , f3
);
$grep -o '[a-z][0-9]' < file.txt 
c1
d1
e1
f1
c2
d2
e2
f2
c3
d3
e3
f3
$

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...