Немного покопаюсь, это сборщик статистики. Судя по всему, статистика публикуется на локальном loopback (, также известном как localhost )UDP. См. здесь :http://www.neilconway.org/talks/hacking/ottawa/ottawa_slides.pdf. По сути, различные (внутренние )подпроцессы PostgreSQL используют этот UDP-порт для отправки статистики сборщику статистики. То, что вы видите, — это «слушающий» сокет, ожидающий получения сообщений.
Порт 57504 является эфемерным портом . Это означает, что его никто не выбрал, он назначается случайным образом во время выполнения. Это отмечено здесь:https://www.postgresql.org/message-id/1273002081.2590.7.camel@w-ehs-psa.telbiomed.at
Обратите внимание, что протокол UDP сильно отличается от протокола TCP, поскольку он не заботится о соединениях. Сокеты UDP больше похожи на почтовый ящик; прием сообщений от чего бы то ни было и отправка туда, куда каждое из них адресовано. Таким образом, удаленный хост и удаленный порт часто можно игнорировать.
UDP также не заботится о том, получены пакеты или нет. Я подозреваю, что UDP был выбран потому, что бэкэнд никогда не будет ждать сборщик статистики, даже если сборщик статистики будет затоплен.
Питон
#!/usr/bin/python
import re
l=re.compile(r'Tx5000')
k=open('rr.txt','r')
for i in k:
if re.search(l,i):
o=i.strip().split("|")
for w in range(0,len(o),1):
we=[]
if (o[w].strip() == "Tx5000"):
for q in range(0,len(o),1):
if (q == w):
we.append("Tx5000")
else:
we.append(".")
print "".join(we).strip()
выход
.Tx5000.
..Tx5000
Возможно:
awk -F '[|] ' -v OFS="" -v ok="Tx5000" '
{for (i=1; i<=NF; i++) if ($i != ok) $i="."; print}
' <<END
TxA1000| Tx5000| TxAc2000
Ms67Ty| AtX0000| Tx5000
END
.Tx5000.
..Tx5000
Ваш разделитель полей выглядит как "вертикальная черта+пробел", поэтому аргумент -F
является более конкретным.
Вы должны быть более конкретными в своем заявлении о том, что "не работает с файлом":
$ cat >|file
TxA1000| Tx5000| TxAc2000
Ms67Ty| AtX0000| Tx5000
$ awk -F '[|] ' -v OFS="" -v ok="Tx5000" '
{for (i=1; i<=NF; i++) if ($i != ok) $i="."; print}
' file
.Tx5000.
..Tx5000
Те же результаты с awk '...' < file
иcat file | awk '...'