Programme aus der Befehlshistorie extrahieren

LinuxBeginner
Jetzt üben

Einführung

Ein kleiner Export der Befehlshistorie enthält in jeder durch senkrechte Striche getrennten Zeile eine Datensatznummer und einen Programmnamen. Für einen späteren Bericht benötigt eine Analystin oder ein Analyst ausschließlich das Programmfeld.

In dieser Aufgabe werden die Feldertrennung aus dem Pipeline-Labor und die Dateiumleitung aus dem Stream-Labor auf eine einfache Datei angewendet.

Das Programmfeld extrahieren

Aktuelle Situation

/home/labex/project/history-analysis/command-history.txt enthält fünf Datensätze. Jede Zeile enthält in Feld 1 eine Nummer aus der Befehlshistorie und in Feld 2 einen Programmnamen. Beide Felder sind durch | voneinander getrennt.

Aufgabenbereich

  • Extrahiere aus jedem Datensatz Feld 2.
  • Behalte die ursprüngliche Reihenfolge der Datensätze und wiederholte Programmnamen bei.
  • Speichere das Ergebnis als programs.txt.

Dein Ziel

Erstelle eine Datei mit den fünf Programmnamen, jeweils einen pro Zeile.

Abnahmekriterien

  • programs.txt enthält für jeden Quelldatensatz genau einen Wert aus Feld 2.
  • Die Nummern aus der Befehlshistorie und die Trennzeichen sind nicht enthalten.
  • Die ursprüngliche Reihenfolge sowie der wiederholte Eintrag ls bleiben erhalten.

Hinweise

Welches Werkzeug eignet sich zur Feldertrennung?

Im Pipeline-Labor wurde cut mit einem festgelegten Trennzeichen und einer Feldnummer verwendet. Leite die Standardausgabe dieses Befehls in die erforderliche Datei um.

Zusammenfassung

Du hast ein durch Trennzeichen abgegrenztes Feld extrahiert und mithilfe der Standardausgabeumleitung gespeichert.

✨ Lösung prüfen und üben