@ предложение Дедека (в комментариях) использовать GB.txt определенно является лучшим ответом для вашего конкретного случая.
Я добавил еще один ответ, потому что эта техника гораздо болеегибкий и позволит вам фильтровать по стране или любой другой столбец .То есть вы можете адаптировать это решение для фильтрации по языку, региону в Великобритании, населению и т. д. или применить его, например, к файлу towns5000.txt.
Решение:
Используйте grep
, чтобы найти данные, которые соответствуют определенному шаблону.По сути, приведенная ниже команда говорит: найдите все строки, в которых восьмой столбец равен «ГБ».
grep -P "[^\t]*\t[^\t]*\t[^\t]*\t[^\t]*\t[^\t]*\t[^\t]*\t[^\t]*\t[^\t]*\tGB\t" allCountries.txt > UK.txt
(grep
входит в стандартную комплектацию большинства систем Unix, но определенно существуют инструменты, которые могутсделать это и в Windows.)
Подробности:
- grep: Команда выполняется.
- \ t: Сокращение для TABсимвол.
- -P: указывает
grep
использовать регулярное выражение в стиле Perl (иначе grep может не распознать \t
как символ TAB).(Это может немного отличаться, если вы используете другую версию grep
.) - [^ \ t] *: ноль или более символов без табуляции, т.е. необязательное значение столбца.
- > UK.txt: записывает вывод команды в файл с именем «UK.txt».
Опять же, вы можете адаптировать этот пример для фильтрации по любому столбцу в любом файле.