Grepping des Hostnamens, der doppelte Einträge zurückgibt

Grepping des Hostnamens, der doppelte Einträge zurückgibt

Ich habe einen Host und die Hostdatei wird wie folgt verwaltet

10.150.23.04    abc.xyz.com abc
10.150.23.04    abc.xyz.com abc

Ich habe absichtlich doppelte Einträge in die Logik eingefügt, wenn die Hostdatei doppelte Einträge für den Host enthält.

Der Befehl hostname gibt mir den Wert zurück abcDer Befehl hostname -i gibt mir den IP-Wert zurück, aber zweimal, d. h. hostname -i gibt aus an10.150.23.04 10.150.23.04

Das Ergebnis ist, wenn ich Folgendes ausführe, um die Hostdatei nach doppelten Einträgen zu filtern:

grep -v '^\s*#' /etc/hosts | grep $(hostname) | grep $(hostname -i)

Es gibt mir die Ausgabe

grep: 10.150.23.04: No such file or directory

Was muss getan werden, um eine ordnungsgemäße Grep-Ausgabe zum Herausfiltern der doppelten Einträge zu erhalten?

Habe versucht, dies als Eingabe zu tun

grep -v '^\s*#' /etc/hosts | grep $(hostname) | grep $(hostname -i) 

Die erwartete Ausgabe muss wie folgt aussehen:

10.150.23.04    abc.xyz.com abc
10.150.23.04    abc.xyz.com abc

verwandte Informationen