Ich habe eine Datei „dictionary.txt“ bezeichnet eine Liste aller möglichen Wörter enthalten, zB:Wie werden Zeilen gedruckt, die nur Zeichen aus einer Liste in BASH enthalten?
a
aardvark
act
anvil
ate
...
Wie ich diese suchen, nur Linien Druckbuchstaben aus einer begrenzten Liste, zum Beispiel, wenn die Liste enthält, die Buchstaben "c" enthält, "a" und "t", wird eine Suche diese Worte offenbaren:
a
act
cat
Wenn die Buchstaben "e", "a" und "t" gesucht, nur diese Wörter werden von "dictionary.txt" gefunden:
a
ate
eat
tea
Die einzige Lösung, die ich es geschafft haben, ist dies:
- eine Liste aller möglichen Buchstaben erstellen.
- Löschen Sie die gesuchten Buchstaben aus dieser Liste und lassen Sie eine Liste mit Buchstaben, nach denen ich nicht suchen möchte.
- Löschen Sie alle Zeilen aus dem Wörterbuch, das diese Buchstaben enthält, mit einer for-Schleife, die jeden dieser Buchstaben zyklisch abruft.
- Drucken Sie die restlichen Wörter im Wörterbuch.
Diese Lösung ist sehr langsam. Außerdem muss ich diesen Code mit anderen Sprachen verwenden, die Tausende von möglichen Zeichen haben, so dass diese Suchmethode besonders langsam ist.
Wie kann ich nur die Zeilen aus "dictionary.txt" drucken, die nur die gesuchten Buchstaben enthalten, und sonst nichts?
Ich sehe nicht, wie meine Lösung Fehler verursachen könnte; Sie waren vage in Ihrer Anwendungsfallbeschreibung: "Wenn die Liste die Buchstaben" c "," a "und" t "enthält, wird eine Suche diese Wörter aufdecken". Können Sie klären, wie Sie Informationen an Grep weitergeben? – amphetamachine