GNU/Linux >> Znalost Linux >  >> Linux

Jak spárovat vzory bez rozlišení malých a velkých písmen s Ls?

Chtěl bych vypsat všechny soubory odpovídající určitému vzoru a ignorovat malá a velká písmena.

Například spouštím následující příkazy:

ls *abc*

Chci vidět všechny soubory, které mají „abc“ jako součást názvu souboru, bez ohledu na velikost písmen, jako

-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

Poznámka

Hledal jsem na manuálové stránce případ, ale nic jsem nenašel.

Přijatá odpověď:

Ve skutečnosti to dělá váš shell, nikoli ls .

V bash , použili byste:

shopt -s nocaseglob

a pak spusťte svůj příkaz.

Nebo v zsh :

unsetopt CASE_GLOB

Nebo v yash:

set +o case-glob

a potom váš příkaz.

Možná to budete chtít vložit do .bashrc , .zshrc nebo .yashrc , respektive.

Případně pomocí zsh:

setopt extendedglob
ls -d -- (#i)*abc*

(to je změna velikosti písmen bez ohledu na velikost písmen na základě zástupných znaků)

S ksh93:

ls -d -- ~(i:*abc*)

Chcete globovat fungovat jinak, ne ls , protože to jsou všechny soubory předané do ls u skořápky.


Linux
  1. Jak změnit slovo v souboru pomocí skriptu linux shell

  2. Jak zkontrolovat heslo v Linuxu?

  3. jak zakázat přihlášení SSH pomocí hesla pro některé uživatele?

  1. Jak používám Vagrant s libvirt

  2. Jak šifrovat soubory pomocí gocryptfs na Linuxu

  3. Jak spustit Grep s více a vzory?

  1. Jak vytvářet dokumenty LaTeX s Emacsem

  2. Jak podložit soubor pomocí FF pomocí dd?

  3. Jak grep ps výstup s hlavičkami