I have a file created from a command I run on my system. After the file is created I want to extract only specific information from that file but only it it meets certain criteria.
Here is what my file looks like:
client: tc-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
version: xxxx
uuid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx
user-uid: 10000
user: someuser
primary-server: xxx.xxx.xxx.xxx
operational-mode: normal
mac: XX:XX:XX:XX:XX:XX
locked-time: xx:xx:xx
ipaddr: xxx.xxx.xxx.xxx
hostname: tc-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
connection-1: frdp::Green::Test
connection-0: frdp::Purple::Test
client: tc-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
version: xxxx
uuid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx
user-uid: 10000
user: someuser
primary-server: xxx.xxx.xxx.xxx
operational-mode: normal
mac: XX:XX:XX:XX:XX:XX
locked-time: xx:xx:xx
ipaddr: xxx.xxx.xxx.xxx
hostname: tc-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
connection-0: frdp::Purple::Test
client: tc-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
version: xxxx
uuid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx
user-uid: 10000
user: someuser
primary-server: xxx.xxx.xxx.xxx
operational-mode: normal
mac: XX:XX:XX:XX:XX:XX
locked-time: xx:xx:xx
ipaddr: xxx.xxx.xxx.xxx
hostname: tc-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
client: tc-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
version: xxxx
uuid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx
user-uid: 10000
user: someuser
primary-server: xxx.xxx.xxx.xxx
operational-mode: normal
mac: XX:XX:XX:XX:XX:XX
locked-time: xx:xx:xx
ipaddr: xxx.xxx.xxx.xxx
hostname: tc-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
connection-0: frdp::Purple::Test
client: tc-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
version: xxxx
uuid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx
user-uid: 10000
user: someuser
primary-server: xxx.xxx.xxx.xxx
operational-mode: normal
mac: XX:XX:XX:XX:XX:XX
locked-time: xx:xx:xx
ipaddr: xxx.xxx.xxx.xxx
hostname: tc-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
client: tc-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
version: xxxx
uuid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx
user-uid: 10000
user: someuser
primary-server: xxx.xxx.xxx.xxx
operational-mode: normal
mac: XX:XX:XX:XX:XX:XX
locked-time: xx:xx:xx
ipaddr: xxx.xxx.xxx.xxx
hostname: tc-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
connection-0: frdp::Purple::Test
client: tc-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
version: xxxx
uuid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx
user-uid: 10000
user: someuser
primary-server: xxx.xxx.xxx.xxx
operational-mode: normal
mac: XX:XX:XX:XX:XX:XX
locked-time: xx:xx:xx
ipaddr: xxx.xxx.xxx.xxx
hostname: tc-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
connection-0: frdp::Green::Test
client: tc-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
version: xxxx
uuid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx
user-uid: 10000
user: someuser
primary-server: xxx.xxx.xxx.xxx
operational-mode: normal
mac: XX:XX:XX:XX:XX:XX
locked-time: xx:xx:xx
ipaddr: xxx.xxx.xxx.xxx
hostname: tc-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
connection-1: frdp::Green::Test
connection-0: frdp::Purple::Test
I want to extract just the client hostnames that just show a connection to Purple and clients with no connections into a new file. I have been able to break out just hostnames or connections using awk but not specific ones without a connection.
EDIT: I have added entries into the file.