GNU/Linux >> Tutoriales Linux >  >> Linux

Glob que no distingue entre mayúsculas y minúsculas en zsh/bash

ZSH:

$ unsetopt CASE_GLOB

O, si no desea habilitar el globbing que no distingue entre mayúsculas y minúsculas en general, puede activarlo solo para la parte variable:

$ print -l (#i)(somelongstring)*

Esto coincidirá con cualquier archivo que comience con "somelongstring" (en cualquier combinación de mayúsculas y minúsculas). La marca que no distingue entre mayúsculas y minúsculas se aplica a todo lo que se encuentra entre paréntesis y se puede usar varias veces. Lee el manual zshexpn(1) para más información.

ACTUALIZAR Casi se me olvida, tienes que habilitar el globbing extendido para que esto funcione:

setopt extendedglob

Dependiendo de qué tan profundo desee tener esta lista, find ofrece bastante en este sentido:

find . -iname 'SomeLongString*' -maxdepth 1

Esto solo le dará los archivos en el directorio actual. Importante aquí es el -iname parámetro en lugar de -name .


golpe:

shopt -s nocaseglob


$ function i () {
> shopt -s nocaseglob; $*; shopt -u nocaseglob
> }
$ ls *jtweet*
ls: cannot access *jtweet*: No such file or directory
$ i ls *jtweet*
JTweet.pm  JTweet.pm~  JTweet2.pm  JTweet2.pm~

Linux
  1. Qué terminal es mejor:Bash vs Zsh

  2. ¿Cómo hacer que el asterisco '*' en Zsh tenga el mismo comportamiento que Bash?

  3. Globo recursivo?

  4. Historial de bash sin números de línea

  5. Comportamiento de Arrays en bash scripting y zsh shell (¿Índice de inicio 0 o 1?)

Golpear mientras se repite

Funciones bash

Golpear hasta bucle

Declaración de caso Bash

Bash Shebang

¿Qué es Zsh? ¿Deberías usarlo?