гавкрешение:
awk 'BEGIN{ FS=OFS=","; print "id,name,tel,fax,site" }
{ gsub(/"/,"",$3); a[$1][$3]=$4; if(!a[$1]["name"]) a[$1]["name"]=$2; }
END { for(i in a) print i,a[i]["name"],a[i]["tel"],a[i]["fax"],a[i]["site"] }' file
Выход:
id,name,tel,fax,site
"1","toto corp","+123456789","+198765432","totocorp.com"
"2","Namek corp","+14377678563","+19867334565","Namekcorp.com"
a[$1][$3]=$4
-многомерный массив, использующий значение поля id
в качестве родительского ключа и значения поля contact-type
в качестве ключей для вложенного массива Я установил стандартный минимальный экземпляр Debian 9, вошел в систему как обычный пользователь с правами sudo и сделал:
sudo apt-get install build-essential gcc make cmake cmake-gui cmake-curses-gui git doxygen graphviz libssl-dev
git clone https://github.com/eclipse/paho.mqtt.c.git
cd paho.mqtt.c
git checkout v1.2.1
cmake -Bbuild -H. -DPAHO_WITH_SSL=ON
sudo cmake --build build/ --target install
sudo ldconfig
cd..
git clone https://github.com/eclipse/paho.mqtt.cpp
cd paho.mqtt.cpp
cmake -Bbuild -H. -DPAHO_BUILD_DOCUMENTATION=TRUE -DPAHO_BUILD_SAMPLES=TRUE
sudo cmake --build build/ --target install
, который дал мне несколько двоичных файлов в /usr/local/bin/
. Я запустил один из них(/usr/local/bin/sync_publish
)и получил:
/usr/local/bin/sync_publish: error while loading shared libraries: libpaho-mqttpp3.so.1: cannot open shared object file: No such file or directory
Я решил это, выполнив sudo ldconfig
.