#regex #sed
Вопрос:
Не могли бы вы, пожалуйста, помочь мне написать сценарий? мне нужно использовать только начальный и соответствующий IP-адрес. например
Y8.78.94 488752 X1.188 36582 62.111.101.260 #S
Y8.62.111 5789544 X1.132 5364789 8.8.4.4 #S
но когда я использую эту команду
> sed -i 's/62.111./Z./g' test.txt
Но в результате все меняется вроде как:
Y8.78.94 488752 X1.188 36582 Z.101.260 #S
Y8.Z. 5789544 X1.132 5364789 8.8.4.4 #S
Y8.Z.
это неправильно, мы не должны этого менять
Ответ №1:
В регулярном выражении .
соответствует любому символу. Итак 62.111.
, совпадения 62.111
, за которыми следует пробел в начале.
Вы должны соответствовать .
буквальному, избегая его.
sed -i 's/62.111./Z./g' test.txt