Russian Qt Forum

Программирование => Общий => Тема начата: qtkoder777 от Август 06, 2021, 14:44



Название: Не работает sed в Ubuntu
Отправлено: qtkoder777 от Август 06, 2021, 14:44
В Ubuntu (только что скачал) пытаюсь удалить объявления классов. Надо сделать переменные классов глобальными.
Код
C++ (Qt)
class A:public B
{
   int x;
};

Пробовал команды, кучу рецептов с интернета
Код
Bash
sed 's/class*//g' path
sed '^class/d' path
и т.д.
Выводит весь файл с удалённым словом class.
Код
C++ (Qt)
A:public B
{
   int x;
};
А должно быть
Код
C++ (Qt)
{
   int x;
};
Где ошибка?


Название: Re: Не работает sed в Ubuntu
Отправлено: qtkoder777 от Август 06, 2021, 15:02
Какой-то файл косячный.
Вручную добавил перевод строки после class... и sed заработал. А отображается правильно. Как такое может быть?


Название: Re: Не работает sed в Ubuntu
Отправлено: kambala от Август 06, 2021, 15:03
sed -E 's/^\s*class.+//g'

учи регулярки