Existe um equivalente a “nocaseglob” de bash em ksh?

1

Eu gostaria de fazer o que é mencionado em Como combinar padrões insensíveis a maiúsculas e minúsculas com ls?

exceto para o ksh. É possível fazê-lo sem dor (regex)?

    
por justsomeone 12.01.2014 / 11:35

2 respostas

4

Existem 3 implementações principais de ksh

  • o original de David Korn (AT & T ksh ), com duas ramificações principais: ksh88 e ksh93 (e para ksh93 , muitas versões com novos recursos adicionados para cada).
  • pdksh , a versão de domínio público (uma reimplementação gratuita de ksh88 com a qual é mais compatível) que é a base sobre a qual é construído o sh em alguns BSDs como MirOS ou OpenBSD (daí mksh e oksh ).
  • A implementação zsh . Quando chamado como ksh , zsh emula o comportamento de ksh88 com muitos recursos de ksh93 (e algumas diferenças também).

com ksh93 :

print -r -- *.~(i:txt)

ou

print -r -- ~(i)*.txt

Com ksh88 ou pdksh e seus derivados, como mksh :

print -r -- *.[tT][xX][tT]

Com a implementação do zsh de ksh :

setopt nocaseglob
print -r -- *.txt

ou

setopt extended_glob
print -r -- (#i)*.txt
    
por 12.01.2014 / 12:32
-2

Sem regex, não!

Mas a análise da saída 'ls' com grep não deve causar tanta dor (se for).

ls | grep -i '*xxx*'
    
por 12.01.2014 / 12:29

Tags