Zeilen mit doppelten "Spalten" nur 1x ausgeben (~/.ssh/authorized_keys)

14/09/2011 - 09:00 von Alexander Skwar | Report spam
Hallo.

Ich habe folgende ~/.ssh/authorized_keys Datei:


ssh-dss AAAAB3NzaC1kc3MAAAEBALqkdqjmpaP1I.../uLes= dna
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA9KDTw...sHew== heiko
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQLkK...sniUMh /home/ask/.ssh/id_rsa
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQLkK...sniUMh Alexander Skwar


Nun möchte ich erreichen, das in der Datei jeder Schlüssel
nur noch genau 1x vorkommt. Der Schlüssel steht in der 2.
"Spalte".

Wie würdet ihr da wohl vorgehen, um das möglichst einfach
script gesteuert zu erreichen?

$ sort -k 2 ~/.ssh/authorized_keys | uniq -f 1

Das tut leider nicht, denn uniq überspringt dann zwar 1
Feld, betrachtet aber dann die ganze Zeile; und da
"/home/ask/.ssh/id_rsa" != "Alexander Skwar", wird die
Zeile natürlich 2x ausgegen.

Ich suche also was, was fast wie uniq funktioniert, aber
eben nur eine Spalte berücksichtigt (bzw. eine anzugebende
Anzahl von Spalten).

Die Zeilen sind alle unterschiedlich lang (auch wenn das
beim Snippet oben nicht zu erkennen ist…).

Das ganze sollte auf FreeBSD, Solaris und Linux laufen;
GNU Tools können leider *nicht* vorausgesetzt werden.


Gruss und Dank,
Alexander



I just forgot my whole philosophy of life!!!
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
 

Lesen sie die antworten

#1 Cyrus Kriticos
14/09/2011 - 08:53 | Warnen spam
On 09/14/2011 09:00 AM, Alexander Skwar wrote:
Ich habe folgende ~/.ssh/authorized_keys Datei:


ssh-dss AAAAB3NzaC1kc3MAAAEBALqkdqjmpaP1I.../uLes= dna
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA9KDTw...sHew== heiko
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQLkK...sniUMh /home/ask/.ssh/id_rsa
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQLkK...sniUMh Alexander Skwar


Nun möchte ich erreichen, das in der Datei jeder Schlüssel
nur noch genau 1x vorkommt. Der Schlüssel steht in der 2.
"Spalte".

Wie würdet ihr da wohl vorgehen, um das möglichst einfach
script gesteuert zu erreichen?

$ sort -k 2 ~/.ssh/authorized_keys | uniq -f 1



$ sort -uk 2,2 ~/.ssh/authorized_keys

[...]

Das ganze sollte auf FreeBSD, Solaris und Linux laufen;
GNU Tools können leider *nicht* vorausgesetzt werden.



Keine Ahnung ob das nur der GNU sort macht.

Grüße | beidhàndige Rückhand
Cyrus | http://www.youtube.com/watch?v=h2iBJi9sz2c

Ähnliche fragen