Ich möchte alle Dateien in einem Verzeichnis auflisten, das keine Erweiterungen hat.
Beispielsweise:
$ ls
a.txt b c.pdf d e.png
$ ls -someOption
b d
Welchen Befehl kann ich anstelle verwenden ls -someOption
?
command-line
file-format
ls
NewMrd
quelle
quelle
.gitignore
eine Erweiterung in Betracht ?Antworten:
Sie werden feststellen, dass Ihnen dabei der Inhalt jedes Verzeichnisses im Arbeitsverzeichnis angezeigt wird. Wenn Sie dies nicht möchten, verwenden Sie:
Sie können
shopt -s extglob
Ihre Funktion~/.bashrc
aktivieren, wenn Sie ein Terminal öffnen. Es gibt bereits eine Zeile im Standard-Ubuntu~/.bashrc
(Zeile 29 für mich am 13.04), die Sie auskommentieren können, um dies (und globstar) zu aktivieren.Weitere Informationen zu den verschiedenen Globbing-Optionen der Shell finden Sie in Gregs Wiki . Beachten Sie, dass dies eher eine Eigenschaft der Bash-Shell als des
ls
Befehls ist, sodass Sie sie mit anderen Befehlen verwenden können.Alternativ können Sie verwenden
oder
... was eine interne
ls
Option ist, aber extglob kann auf jeden beliebigen Befehl angewendet werden und ist meiner Meinung nach nützlicher.quelle
ls !(*.*)
Beides
ls | grep -v \\.
undls | grep -v "\."
funktioniert.quelle