cat ip_address.txt | grep '^[0-9]\{1,3\}[.][0-9]\{1,3\}[.][0-9]\{1,3\}[.][0-9]\{1,3\}[,].*$\|^.*[,][0-9]\{1,3\}[.][0-9]\{1,3\}[.][0-9]\{1,3\}[.][0-9]\{1,3\}[,].*$\|^.*[,][0-9]\{1,3\}[.][0-9]\{1,3\}[.][0-9]\{1,3\}[.][0-9]\{1,3\}$'
Предположим, что файл разделен запятой и положение ip-адреса в начале, конце и где-то посередине
Первое регулярное выражение ищет точное соответствие IP-адреса в начале строки.
Второе регулярное выражение после или ищет ip-адрес в середине. Мы сопоставляем его таким образом, что число, которое следует, должно быть ровно от 1 до 3 цифр. В этом случае могут быть исключены ложные ips, такие как 12345.12.34.1.
Третье регулярное выражение ищет IP-адрес в конце строки