GNU/Linux >> Linux Esercitazione >  >> Linux

Come abbinare i modelli senza distinzione tra maiuscole e minuscole con Ls?

Vorrei elencare tutti i file che corrispondono a un determinato modello ignorando il caso.

Ad esempio, eseguo i seguenti comandi:

ls *abc*

Voglio vedere tutti i file che hanno "abc" come parte del nome del file, ignorando il caso, come

-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

Nota

Ho cercato il caso nella pagina man, ma non ho trovato nulla.

Risposta accettata:

Questo è effettivamente fatto dalla tua shell, non da ls .

In bash , useresti:

shopt -s nocaseglob

e poi esegui il tuo comando.

O in zsh :

unsetopt CASE_GLOB

O in yash:

set +o case-glob

e poi il tuo comando.

Potresti voler inserirlo in .bashrc , .zshrc o .yashrc , rispettivamente.

In alternativa, con zsh:

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

(vale a dire il globbing senza distinzione tra maiuscole e minuscole in base ai caratteri jolly)

Con ksh93:

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

Vuoi glob per funzionare in modo diverso, non ls , poiché sono tutti file passati a ls dalla conchiglia.


Linux
  1. Come uso Vagrant con libvirt

  2. Come eseguire Grep con multipli e pattern?

  3. Come riempire un file con FF usando dd?

  4. Come eseguire il grep dell'output di ps con le intestazioni

  5. come disabilitare l'accesso SSH con password per alcuni utenti?

Come confrontare le directory con Meld su Linux

Come integrare ONLYOFFICE con Nextcloud

Come integrare ONLYOFFICE 9.6 con WordPress

Come proteggere i server Linux con SE Linux

Come lavorare con l'istruzione Case negli script Bash

Come creare un e-commerce con Magento