Chcę wyświetlić listę wszystkich plików w katalogu, który nie ma rozszerzeń.
Na przykład:
$ ls
a.txt b c.pdf d e.png
$ ls -someOption
b d
Jakiego polecenia mogę użyć zamiast ls -someOption
?
command-line
file-format
ls
NewMrd
źródło
źródło
.gitignore
rozszerzenie?Odpowiedzi:
Przekonasz się, że zrobienie tego spowoduje wyświetlenie zawartości każdego katalogu w katalogu roboczym. Jeśli nie chcesz tego, użyj:
Można umieścić
shopt -s extglob
w twojej~/.bashrc
mieć ono aktywowane przy każdym otwarciu terminala. W domyślnym Ubuntu jest już wiersz~/.bashrc
(wiersz 29 dla mnie 13.04), którego możesz odkomentować, aby to włączyć (i globstar).Zobacz wiki Grega, aby uzyskać więcej informacji na temat różnych opcji globowania powłoki. Zauważ, że jest to właściwość powłoki bash zamiast
ls
polecenia, więc możesz używać go z innymi poleceniami.Alternatywnie możesz użyć
lub
... która jest
ls
opcją wewnętrzną , ale extglob można zastosować do dowolnego dowolnego polecenia, więc moim zdaniem jest bardziej użyteczny.źródło
ls !(*.*)
Zarówno
ls | grep -v \\.
ils | grep -v "\."
działa.źródło