Я бегу Mint Xfce и пытающиеся Grep из терминала, используя следующие:Grep, исключая специальные письма, как умляутов
grep -E -o '^[A-Za-z]{1,}\s[A-Za-z]{1,}\s[0-9]{1,}' sourcefile.txt | sort -f > newfile.txt
Исходный файл представляет собой текстовый файл, в котором каждая строка выглядит как
<string><space><string><tab><number><tab><number><tab>...
где строки имеют буквы, цифры, знаки препинания и специальные символы, а числа - целые числа.
Моя цель состоит в том, чтобы извлечь две строки и первое число для только строки, в которых строки содержат только английские буквы (a-z, верхний или нижний регистр).
Вышеупомянутая команда оставляет строки с пунктуацией и номерами, но строки, в которых строки имеют специальные буквы, такие как u umlauts (Ü), каким-то образом проходят и отправляются в файл newfile.txt. Я чувствую, что мне не хватает чего-то очевидного, но тонна Googling только возвращает мне назад о том, как grep для специальных писем. Я проверил регулярное выражение на https://regex101.com/, и umlauts не совпадают, что заставляет меня думать, что проблема связана не с моим регулярным выражением.
Спасибо за любую помощь, которую вы можете предоставить!
Спасибо! Я не понимаю, почему это не сработало с первого взгляда, но теперь это работает. –
В новом окне консоли, если вы наберете 'echo $ LC_NAME', вы не увидите' C' в качестве вывода, но, я уверен, ваши языковые предпочтения вместе с UTF-8. «LC_ALL» временно переопределяет переменные «LC_ *». –