awk
нужно знать разделитель ,
. Таким образом, вы должны выполнить команду таким образом:
awk -F\, '{printf "update my_table_user set thirdparty_user_id=\'%s\' where thirdparty_user_id=\'%s\'\;", $(NF-1),$(NF)}' /tmp/Region1\ users.csv
Также, если формат входного файла соответствует (трем полям, вы получите 1-е и 2-е )вы можете использовать $1
и$2
Для этого у вас должна быть возможность использовать любой из нескольких модулей вывода rsyslog. Например (бесстыдно украденный и слегка измененный из rsyslog.conf (5)
) на вашем главном устройстве:
*.* :omrelp:192.168.0.2:2514
*.* :omrelp:192.168.0.3:2514
*.* :omrelp:192.168.0.4:2514
Будет ли главный сервер отправлять все записи системного журнала в rsyslog, работающий на этих трех IP-адресах, которые должны быть быть настроенным следующим образом:
$ModLoad imrelp
$InputRELPServerRun 2514
(Обратите внимание, что *. *
- это обычный селектор журнала, поэтому вы можете ограничить пересылаемые сообщения, например, local0. *: omrelp: 192.168.0.4: 2514
пересылает только журналы, отправленные на объект local0
).
PS: То, что вы делаете, немного странно. Обычно люди хотят централизовать журналы. В зависимости от того, почему вы это делаете, вам может потребоваться один из других модулей вывода (например, возможно, вы захотите отправить свои журналы в базу данных SQL, к которой программы во всех различных пространствах имен могут подключаться и запрашивать).
PPS: Есть и другие способы справиться с этим - полностью настраиваемые сокеты, которые читает и записывает rsyslog. На их веб-сайте есть довольно обширная документация, и, конечно, возможно, также в / usr / share / doc
вашей системы.