String einer bestimmten Zeile durchsuchen

SchorschM

Grünschnabel
Beiträge
4
Hallo,

wie kann ich den eine bestimmte Zeile einer Textdatei zerlegen und daraus ein Stück entnehmen?
Ich suche nach der Zeile in der "model HM-SEC-WD" steht.
Jetzt brauche ich aus dieser Zeile für weitere Suchanfragen die ID "1E4D68"
Die ID wird zufällig erzeugt und daher ist sie nicht für eine suche eignet.
Wenn ich diese ID habe kann ich den rest des Files durchsuchen und alles anpassen.

Code:
#!/bin/bash
zeile = grep -n HM-SEC-WD /etc/fhem.cfg | awk -F: '{ print $1; }'
ID rausfinden ??
Code:
sed -e "s/\(threeStateSensor\)_\([COLOR="#0000FF"]1E4D68[/COLOR]\)/\HM_SEC_WD\2/g" -i /etc/fhem.cfg

Wie kann ich aus der zuvor ermittelten Zeile diese ID auslesen?
 

tgruene

Routinier
Beiträge
418
Mit grep ohne '-n' bekommst Du den gesamten Zeileninhalt, den Du dann mit sed, tr, cut, nochmal grep oder aehnlichem zerteilen kannst. Das haengt davon ab, die die ID definiert ist.
 

SchorschM

Grünschnabel
Beiträge
4
Danke tgruene, hab es dann heute hinbekommen mittels awk :)
Code:
ID2=`awk 'BEGIN {FS="_| "}  $0~/HM-SEC-WDS$/ {print $5}' /etc/fhem.cfg`
echo $ID2
sed -e "s/\(threeStateSensor\)_\($ID2\)/\HM_SEC_WDS_\2/g" -i /etc/fhem.cfg
 
Zuletzt bearbeitet:

Ähnliche Themen

.cfg Datei Analysieren und Zeilen Stellenweise abändern

Oben