Hintergrund: Damit in einem Conky Script die Anzeige von Netzwerk relevanten Daten universell funktioniert erstelle ich ein Template das den aktuellen Schnittstellenname in eine Variable schreibt:
template0 = "${exec ip link | grep 'state UP' | awk '{print substr($2, 1, length($2)-1)}'}",
${template0} liefert dann an allen eingesetzten Stellen den passenden Namen. Das funktioniert auch. Allerdings habe ich gerade den Fall das ab und zu 2 Verbindungen (Ethernet und WLan) gleichzeitig aktiv sind und dann liefert meine Zeile beide Werte mit entsprechendem Fehler in Conky.
Kann ich awk mitgeben nur den jeweils ersten Treffer zu nehmen?
[gelöst]
Irgendwie sehe ich in letzter Zeit den Wald vor lauter Bäumen nicht mehr :/ Ich brauche ja nur grep den ersten Treffer nehmen lassen:
template0 = "${exec ip link | grep 'state UP' -m 1 | awk '{print substr($2, 1, length($2)-1)}'}",
Das funktioniert.