dalmatino87
Goto Top

Teil einer Zeile mit Shell-Befehl unter Mint löschen

Hallo Admins,

ich verzweifle gerade an einer zunächst einfach scheinenden Aufgabe..

1. Ich suche einen Befehl, um den letzten Eintrag in der /var/log/kern.log mit "usb" und "Manufacturer:" zu erhalten.
Ich scheitere derzeit an der Bedingung des letzten Eintrages..

Ergebnis sollte so aussehen:
Jul  7 15:53:32 user1 kernel: [  131.001635] usb 2-1.1: Manufacturer: Verbatim

2. Jetzt möchte ich alles vor "Verbatim" aus der Zeile entfernen bzw. in eine neue Datei schreiben.
Oder alles, hinter "Manufacturer:" in eine neue Datei schreiben (was letztendlich das gleiche istface-wink )

Ergebnis sollte so aussehen:
Verbatim

Ich habe diverse awk und sed Ansätze versucht, nur leider bin ich mit beiden Varianten nicht sehr firm, da ich eher selten skripte
und die Parametersyntax ist schon recht komplex..
Über eine Kombination für 1. und 2. würde ich mich natürlich auch freuen!

Ich Danke euch und wünsche ein schönes Wochenende!

Content-ID: 342787

Url: https://administrator.de/contentid/342787

Ausgedruckt am: 22.11.2024 um 18:11 Uhr

colinardo
Lösung colinardo 07.07.2017 aktualisiert um 21:23:39 Uhr
Goto Top
Servus @dalmatino86,
z.B. so
grep -i 'usb.*Manufacturer:' /var/log/kern.log | tail -n 1 | sed -e 's/.*Manufacturer: //i' >/path/newfile.txt  
Grüße Uwe
alternativlos
Lösung alternativlos 07.07.2017 um 20:15:00 Uhr
Goto Top
@dalmatino86

Ich dampfe einmal dank der guten Vorarbeit von colinardo nur noch die sed-Sequenz etwas ein.
sed 's/^.*: //'  
schneidet alles vom Zeilenanfang bis zum letzten ":" plus Leerzeichen weg.
dalmatino87
dalmatino87 07.07.2017 aktualisiert um 22:27:05 Uhr
Goto Top
Vielen Dank für die Antworten!

Beide funktionieren!