sed-, grep- und awk-Dateisortierung

sed-, grep- und awk-Dateisortierung

Ich versuche, alle Dateien, deren Namen „load“ enthalten, aus einem Verzeichnis abzurufen. Ich versuche Folgendes:

find -type f | sed -s 'load

Ich erhalte jedoch immer wieder eine Fehlermeldung

sed: -e Ausdruck Nr. 1, Zeichen 1: unbekannter Befehl: „f“

Das Schlimmste ist, dass ich zwar reguläre Ausdrücke manipulieren kann, aber wirklich schlecht mit grep/sed/awk umgehen kann, was mich ständig ausbremst. Was ich bisher online gefunden habe, ist nicht so toll. Kennt ihr irgendwelche umfassenden und einigermaßen prägnanten Screencasts/Tutorials? Mir fehlt immer noch die Fähigkeit, Linux-Handbücher zu lesen und schnell zu verstehen.

Antwort1

Sie benötigen grep/sed/awk überhaupt nicht, wir findfiltern die Ergebnisse für Sie:

find . -type f -name '*load*'

Oder nur in Bash

shopt -s globstar nullglob
load_files=( **/*load* )

wenn Sie ein externes Tool möchten:

find . -type f | grep load
find . -type f | awk '/load/'
find . -type f | sed -n '/load/p'

Verwenden Sie mit sed -n, um die normale Ausgabe zu unterdrücken und nur Zeilen zu drucken, die dem Muster entsprechen.

verwandte Informationen