Linux: Wie, um eine Liste aller Dateien/Verzeichnisse, die nur mithilfe von ls

Dies ist eine Frage gegeben an der Universität.

Die Frage ist: Liste alle Dateien/Verzeichnisse innerhalb testfiles Ordner, die keine Erweiterung haben.
Die richtige Antwort ist:

ls testfiles | grep -v "\."

Nun, nur um zu verstehen, wie ls regex funktioniert, könnte bitte jemand erklären zu mir, wie das wäre, indem Sie nur ls? Darüber hinaus würde ich mich über jedes Beispiel, das auch verwendet das dollar-Zeichen $ zu betonen, dass insbesondere der name endet mit .[a-z].

Jede Hilfe wirklich dankbar.

Noch eins! Eine andere Antwort auf diese Frage ist mit:

ls testfiles | grep "^[^.]*$"

Wie ist das zu Lesen? Ich lese ^[^.]*$ wie diese:

^      -> does not contain
[^.]   -> starts with a dot
*      -> repeated zero or more times
$      -> till the end

Ich möchte jemanden um mich richtig auf diese...
Danke!

Ich glaube nicht, dass Sie tun können, mit nur ls.
ls verwendet erweiterte glob-syntax, nicht regex. Werfen Sie einen Blick auf dieser für Ideen.
[^.] als regulären Ausdruck steht für ein beliebiges einzelnes Zeichen außer einen Zeitraum.
Dein regex-Analyse ist nicht ganz richtig, ein ^ am start ist das start-Anker. Also das Muster ist wirklich passenden beliebige Anzahl von Zeichen, die nicht ein Punkt von Anfang bis Ende.
You ' ve lost me at "|". Wenn die Anforderung ist "nur ls' ist, was ist dann grep machst dort?

InformationsquelleAutor m.spyratos | 2013-03-25

Schreibe einen Kommentar