Задать вопрос
@mts2050

Как удалить строки с определенным словом и комбинацией символов в linux?

Подскажите как удалить строки в linux содержащие определенное слово и комбинацию символов.
Такая команда удаляет нормально.
sed -i '/\"track":"3.00"/d' 1.txt
Но мне нужно удалить еще такие же строки от 3 до 100.
Попробовал так. Не работает.
sed -i '/\"track":"/[3-100]/.00"/d' 1.txt
Заранее спасибо.
  • Вопрос задан
  • 492 просмотра
Подписаться 2 Простой Комментировать
Решения вопроса 1
xotkot
@xotkot
хорошо есть и хорошо весьма
как-то так
awk '!/"track":"([3-9]|([1-9][0-9])|100).00"/' 1.txt

с записью в исходный файл
awk -i inplace '!/"track":"([3-9]|([1-9][0-9])|100).00"/' 1.txt
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
CityCat4
@CityCat4
//COPY01 EXEC PGM=IEBGENER
Можно втупую, написать на баше цикл с перебором от 3 до 100 и выдачей соответствующей команды.
Ответ написан
ky0
@ky0
Миллиардер, филантроп, патологический лгун
https://regex101.com/
Составляйте регэксп, внизу проверяйте на совпадение.

Очевидно, что вам нужно добавить в capture group от одной до трёх цифр.
Ответ написан
Комментировать
Radjah
@Radjah
Если прям строки целиком, то cat file | grep -v выражение > file2
Ответ написан
Комментировать
sotvm
@sotvm
Умный поймёт, а дураку и так всё равно.
кури параметры -n и глобал g
пример не приведу = букой
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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