• XSS.stack #1 – первый литературный журнал от юзеров форума

Как удалить строки из файла соответствующие регулярному выражению через Bash

DrSleep

(L2) cache
Пользователь
Регистрация
10.01.2020
Сообщения
396
Реакции
304
Гарант сделки
1
Есть фал с строками
Код:
email:pass
email2:pass
email3:pass vsykaya beleberda
email4:pass beleberda
beleberda2
email5:pass
Как из этого файла удалить все строки соответствующие чисто
Код:
email:pass
Получается что-то вроде
Код:
(.*)@(.*):(.*)
Но у меня проблема с пробелом тут
Код:
email3:pass vsykaya beleberda
Ну и соответственно если такой вид
Код:
email4:pass beleberda
beleberda2
Нехватает скила.Спасибо
 
^(.*)@(.*):[^ ]*?
Или как-то так:
Код:
^\S+:\S+$
Вообще таки ТЗ не очень понятно :)
 
С кучи файлов собрал строки, в некоторых есть мои заметки типо
johndoe@mail.cc:pass есть линк[
слил с линка 10к
johndoe2@mail.com:pass
johndoe3@mail.com:pass линка нет
Чтобы вручную кучу строк не обрабатывать,отделить строки которые просто майл:пасс от строк где были заметки
 
Не усложняйте regex. Он и так не особо простой :)

Код:
$ cat 1.txt
johndoe@mail.cc:pass есть линк[
слил с линка 10к
johndoe2@mail.com:pass
johndoe3@mail.com:pass линка нет
$
$ grep -vE "^\S+:\S+$" 1.txt
johndoe@mail.cc:pass есть линк[
слил с линка 10к
johndoe3@mail.com:pass линка нет
$
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх