Chciałbym wyświetlić listę wszystkich plików pasujących do określonego wzorca, ignorując wielkość liter.
Na przykład uruchamiam następujące polecenia:
ls *abc*
Chcę zobaczyć wszystkie pliki, które mają „abc” jako część nazwy pliku, ignorując wielkość liter
-rw-r--r-- 1 mtk mtk 0 Sep 21 08:12 file1abc.txt
-rw-r--r-- 1 mtk mtk 0 Sep 21 08:12 file2ABC.txt
Uwaga
Przeszukałem stronę podręcznika w poszukiwaniu sprawy, ale nic nie znalazłem.
shport -s nocaseglob
?shopt -s
; aby go rozbroić , używaszshopt -u
. Alternatywnie, można zawinąć wszystko w podpowłoce za pomocą( )
tak, że ustawienie nie ma wpływu na powłokę nadrzędny:(shopt -s nocaseglob ; ls *abc*)
.[aA][bB][cC]
)?shopt
dowództwem w ciągu ostatnich 15 lat używania bash!Jak wyjaśnił polemon, to powłoka (nie ls) rozciąga
*abc*
się na listę plików. Nazywa się to dopasowaniem wzorca .Oprócz zmiany całego zachowania Dopasowanie wzorca w celu zignorowania wielkości liter, możesz użyć innej formy dopasowania wzorca niż
*
. Następujące czynności zrobią, co chcesz w bash:Od bash mana:
Pozwala to na bardziej cienkiej dopasowanie ziarna gdzie można użyć
*[aA][bB]c*
, aby dopasowaćabc
lubABc
ale nieabC
lubABC
. Lub przykład w języku francuskim, w którym chciałbym dopasować wszystkie wystąpieniae
postaci:źródło
[...]
mogą być przydatne w wielu przypadkach i myślałem, że warto o tym wspomnieć.[[=e=][=E=]]
.Możesz także dodać
-i
opcję (--ignore-case),grep
aby uzyskać i poniższe wyjście.źródło
Nie sądzę, że jest to możliwe w przypadku ls, ale zamiast tego możesz użyć find:
źródło
użyj następującego kodu:
źródło
Możesz ZROBIĆ plik,
-i
który dodaje opcję niewrażliwą.Na przykład, aby znaleźć jedno
abc
i drugieABC
, możesz uruchomić to polecenieźródło
-i
nigdzie nie użyłeś opcji w swoim poleceniu.ls
?W tcsh ustaw alias w .aliases
(„BS” = jeden „ukośnik odwrotny”; musiałem go użyć, aby pojawił się w przeglądarce).
i użyj
lsnc
zamiastls
W bash wypróbuj alias w .bash_aliases, np
Z opcjami
ls
np.ls -l
Tutaj jest prosta poprawka:tcsh:
grzmotnąć:
źródło
=
lsnocase?ls
, nie ma nicls
isort
może naprawić sytuację. Jak zauważono w innych odpowiedziach, problem musi zostać rozwiązany w powłoce, a nie wls
składni.