У меня есть файл, который содержит данные, включая URL-адреса. Но есть различные строки, которые не являются URL-адресами. Как я могу удалить их, используя команды терминала Ubuntu?
Вот пример файла для справки: Пример данных
com.blendtuts/S
°=
com.blengineering.www/:http
±=
Я хочу получить вывод:
com.blendtuts/S
com.blengineering.www/:http
У лишних нежелательных линий нет точек. Следовательно, я хочу удалить линии без точек
источник
awk '/\./' file
- то есть вывести только строки, содержащие символ «.».grep
уже предложенным, я предпочел пойти с некоторымиawk
специфическими вещами :)Использование perl:
источник
Вы можете сделать это довольно легко с Vim. Если вам удобно использовать vim в качестве текстового редактора (открытие, редактирование и запись файлов), сделайте следующее:
Если вам неудобно использовать vim или вы предпочитаете использовать его как инструмент командной строки, вы можете просто сделать это из терминала:
Вы можете немного изменить это, чтобы сохранить в новый файл:
При этом используется «глобальная» команда vim, которая применяет команду ex к каждой строке, соответствующей (или не соответствующей) регулярному выражению. В этом случае команда "(d) elete", и она будет применяться к каждой команде, не соответствующей регулярному выражению
\.
источник