Intereting Posts
Ошибка vgextend Не удалось создать временное имя архива Настройка SSH – Как маршрутизатор узнает IP-адрес моего компьютера? Проверьте содержимое файла, ищущего повреждение, размер файла указывает размер «ноль» Как генерировать новые имена переменных на лету Когда использовать арку против noarch при создании RPM? Удобный способ имен файлов в Linux написание небольшого веб-сервиса для встроенного устройства на основе Debian fstrim, похоже, не обрезает раздел, который использует lvm и dm-crypt Получение клавиатуры для работы в debian 6.0 для разблокировки корневого раздела Инструкции Samba работают на CentOS 6.5, но не CentOS 6.3 – разрешения в Windows разные Journalctl прекратил протоколирование после переполнения и перезагрузки остановка работы в указанное время Автоматическая инициализация билета на Kerberos при входе в систему перепутал РЕПО в RHEL6 Задача cron отключить мой звук не работает

Исключить все строки с конкретными строчными символами в текстовом файле unix

У меня есть текстовый файл с комбинацией нижних / верхних символов. Я хочу удалить строки, где видны какие-то из нескольких строчных букв.

Содержимое текстового файла:

aASDF1234qwerty;lkJHG fdsaAghiyirchgdadgqa2 

Задача. Удалите все строки, в которых происходит любой из символов нижнего регистра «a», «e», «j», «k».

Я попробовал вариант ниже, чтобы получить все строки, где найден только верхний регистр, но он не работает должным образом. grep -wo '[[:alnum:]]*A*E*J*K*[[:alnum:]]*' test.txt

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

 grep -v '[aejk]' /path/to/file 

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

 awk '! /[aejk]/ { print }' /path/to/file 

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

 sed '/[aejk]/d' /path/to/file 

Регулярное выражение, используемое во всех этих примерах, /[aejk]/ , может транслитерироваться как «любой символ: a , e , j или k ». grep и awk возвращают любую строку, которая не соответствует этому выражению; вызов sed имеет тот же конечный результат, но работает, опуская из проанализированного файла любые строки, которые соответствуют.