Russian Qt Forum
Апрель 24, 2024, 01:33 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Не работает sed в Ubuntu  (Прочитано 1580 раз)
qtkoder777
Частый гость
***
Offline Offline

Сообщений: 245


Просмотр профиля
« : Август 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;
};
Где ошибка?
Записан
qtkoder777
Частый гость
***
Offline Offline

Сообщений: 245


Просмотр профиля
« Ответ #1 : Август 06, 2021, 15:02 »

Какой-то файл косячный.
Вручную добавил перевод строки после class... и sed заработал. А отображается правильно. Как такое может быть?
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4727



Просмотр профиля WWW
« Ответ #2 : Август 06, 2021, 15:03 »

sed -E 's/^\s*class.+//g'

учи регулярки
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.098 секунд. Запросов: 22.