Это особенно удобно, если в разрабатываемом вами проекте используются несколько эмодзи, и вы хотите найти их в кодовой базе.
Мне нравится использовать эмодзи в всплывающих сообщениях и иногда в навигационных панелях, когда я не хочу подключать стороннюю библиотеку иконок.
Ripgrep
Если вы используете ripgrep, жизнь становится проще: вы можете воспользоваться командой rg "[\p{Emoji}--\p{Ascii}]"
.
Можно сделать ещё проще, создав псевдоним. Я настроил псевдоним ge
(grep emoji) для этого в моих конфигурационных файлах.
Например, я запустил указанную команду внутри своего приложения docker-flask-example
, и оно вернуло:
Поиск эмодзи с использованием ripgrep или grep с регулярным выражением
Если вы ищете возможность быстро находить эмодзи в своем коде или тексте, инструменты вроде ripgrep или стандартный grep, дополненный правильным регулярным выражением, станут отличным решением.
Почему это полезно?
Эмодзи часто встречаются в современных приложениях и интерфейсах, и порой важно иметь возможность легко искать их среди большого объема исходников.
Это бывает актуально, например, при рефакторинге UI-компонентов или поиске неиспользуемых элементов дизайна.
Как работает этот метод?
Для ripgrep (rg
)
Для быстрого поиска всех символов эмодзи в вашем коде можно использовать следующую команду:
rg '[\p{Emoji}]'
Эта команда ищет любые символы Unicode, классифицированные как эмодзи.
Если вы хотите исключить ASCII-символы, добавьте дополнительную проверку:
rg '[\p{Emoji}-[:ascii:]]'
Настройка псевдонима (alias)
Чтобы упростить использование команды, создайте псевдоним, например:
alias grepemoji='rg [\p{Emoji}]'
Теперь достаточно ввести grepemoji
, и будут найдены все эмодзи в вашей рабочей директории.
Примеры практического использования
Допустим, у вас есть проект Flask + Docker, и вы хотите убедиться, что нигде случайно не использовали эмодзи. Просто выполните команду внутри корня проекта:
rg '[\p{Emoji}]' .
И получите список файлов с эмодзи.
Таким образом, с этими инструментами вы сможете эффективно управлять наличием эмодзи в своём коде, обеспечивая чистоту и согласованность вашего проекта.
Поиск эмодзи с помощью grep
Хотя ripgrep
предлагает удобное решение для поиска эмодзи, если вы предпочитаете классический инструмент grep
, тоже можно создать аналогичное решение, используя регулярные выражения.
Регулярное выражение для поиска эмодзи
Вот пример регулярного выражения, которое охватывает большинство используемых эмодзи:
grep --perl-regexp "[\x{1f300}-\x{1f5ff}\x{1f900}-\x{1f9ff}\x{1f600}-\x{1f64f}\x{1f680}-\x{1f6ff}\x{2600}-\x{26ff}\x{2700}-\x{27bf}\x{1f1e6}-\x{1f1ff}\x{1f191}-\x{1f251}\x{1f004}\x{1f0cf}\x{1f170}-\x{1f171}\x{1f17e}-\x{1f17f}\x{1f18e}\x{3030}\x{2b50}\x{2b55}\x{2934}-\x{2935}\x{2b05}-\x{2b07}\x{2b1b}-\x{2b1c}\x{3297}\x{3299}\x{303d}\x{00a9}\x{00ae}\x{2122}\x{23f3}\x{24c2}\x{23e9}-\x{23ef}\x{25b6}\x{23f8}-\x{23fa}]" <ФАЙЛ>
cм. также:
- ⚙️ Как выполнить grep для поиска текста в PowerShell
- 🐧 Как выполнить поиск Grep по всем файлам и во всех каталогах
- ngrep – Сетевой анализатор пакетов для Linux