Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Sobre a filtragrem de tipos de arquivos:

Tendo em vista que esses são meus arquivos do diretório: (arq1 arq10 arq100 arq2 arq3 arq5 arq78 arq9 arq90 tmp1 tmp2)

Por que quando utilizo o seguinte código ele também não me retorna o valor 100 como um valor único? ls arq[1,5,100] sei que poderia colocar 1 caractere obrigatório com o '?' antes mas ai eu teria que colcoar '??' pra alcançar o 100 e depois colocar o 0 no colchete. Por exemplo, se no range de 1-100 funciona porque o comando com valores únicos separadamente não funciona?

1 resposta
solução!

Oi Willian, tudo bem?

Entendo que você está com dúvidas sobre o uso da filtragem de arquivos no Linux, especificamente sobre o comando ls arq[1,5,100].

Para entender o que está acontecendo, é importante lembrar que quando usamos colchetes ([]), estamos especificando um conjunto de caracteres. No seu caso, ls arq[1,5,100] está pedindo para o sistema listar todos os arquivos que começam com 'arq' seguidos por um dos caracteres '1', '5', '0' ou '0'. Isso significa que o comando não está interpretando '100' como um número único, mas sim como três caracteres separados.

Se você quiser listar o arquivo 'arq100', você precisa especificar isso diretamente, ou seja, ls arq100. Se você quiser listar todos os arquivos que começam com 'arq' seguidos por um ou dois dígitos, você pode usar ls arq? ou ls arq??, respectivamente. O caractere '?' representa qualquer caractere único.

Em relação ao seu questionamento sobre o range, quando você usa ls arq[1-100], o que acontece é que o shell interpreta isso como "listar todos os arquivos que começam com 'arq' seguidos por qualquer caractere no range de '1' a '1' ou '0' a '0'". Isso acontece porque, como mencionado anteriormente, o shell não está interpretando '100' como um número único, mas sim como três caracteres separados.

Um abraço e bons estudos.