
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 find
filtern 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.