"Começando com" é apenas uma especialização de "contendo", para que você possa usar o mesmo para ambos.
ls *X*
Como o título pergunta, é possível listar arquivos começando com X ou contendo X?
ls
é usado para listar arquivos. Há alguma opção que eu possa usar para listar os arquivos que começam com ou contêm uma letra específica?
Para fazer a parte "contendo X", você faria:
ls | grep "X"
ls
- Lista todos os arquivos no diretório atual
|
- Pipe, envia toda a saída do comando antes dela como entrada para o comando depois dela.
grep "X"
- Procura por texto na entrada dada (aqui, através do pipe).
ls -1 | grep "^X"
ls
- Lista arquivos no diretório atual, um em cada linha, essenciais para a expressão regular que usaremos com grep
.
|
- tubo
grep "^X"
- Isso basicamente se traduz em: "O início da linha, e depois X", então mostrará os arquivos que começam com "X".
Espero que isso ajude!
Por que usar ls *X*
? Quando você digita este comando, bash
já interpreta as estrelas e as expande, então echo *X*
fará exatamente o mesmo.
Mas não listará arquivos cujo nome começa com um ponto. Se você realmente quer arquivos, minha melhor sugestão é:
find . -maxdepth 0 -type f -iname '*X*'
(o -maxdepth 0
impede os subdiretórios de verificação).
Essas são ótimas sugestões - SE VOCÊ ESTIVER USANDO O LINUX! Usando o comando "ls" é quase o mesmo que o comando DIR do MS-DOS. No entanto, o comando ls só vive em certos interpretadores de linha de comando como C-shell e NOT no MS-DOS e certamente NÃO no MS-Windows.
Então, se você está perguntando sobre uma solução Windows, eu posso supor que você não explorou completamente o Windows Explorer (também NÃO deve ser confundido com o "Internet Explorer"). Por exemplo, para ver os arquivos em ordem alfabética no Windows Explorer, abra-os (clique em Meu Computador, por exemplo), verifique com detalhes, navegue até a pasta que deseja classificar e clique na coluna "Nome". para ver todos os arquivos que começam com A seguidos pelos arquivos que começam com B e assim por diante. Clique nele novamente e você pode ver todos os arquivos listados na ordem inversa onde você vê todos os arquivos começando com Z - clique nele uma terceira vez e ele volta a listar o primeiro. Mas isso não pára por aí. Você pode clicar na coluna de data (supondo que você não desmarcou as configurações padrão do menu e ocultá-la ou algo assim) para mostrar uma lista em ordem alfabética com os arquivos com data mais recente listados primeiro. Você pode até mesmo adicionar mais colunas (clicando com o botão direito do mouse), onde você pode adicionar ou excluir opções de exibição nas quais você pode especificar um título que possa exibir arquivos de acordo com uma fórmula de pesquisa ou até mesmo com caixas de seleção. / p>
Então, novamente, se você é da velha guarda, você poderia simplesmente usar a linha de comando do DOS em uma caixa DOS. Por exemplo, abra uma caixa do DOS (execute "cmd.exe"), vá para o diretório / pasta e digite "dir [estrela] x [estrela]" (sem as aspas) para mostrar todos os arquivos com x no nome . Claro que você também pode redirecionar a saída para outro arquivo. O exemplo seria 'dir [estrela] x [estrela] > nome_do_arquivo.txt' que criaria um arquivo de texto chamado 'nome_do_arquivo.txt' e conteria uma lista de todos os arquivos com x no nome. É claro que digitar "dir x [star]" mostraria apenas os arquivos que começam com a letra x. (Observe a diferença sutil onde x é colocado no comando e o asterisco [estrela] curinga símbolo?). E se você realmente quisesse enlouquecer, poderia até escrever um arquivo de lote! Apenas não esqueça a linha de pausa ou redirecionando a saída, pois seria um tanto inútil. (Alguém se lembra do DOS em lote "programação" ?! lol)
Espero que ajude.
P.S. Eu tive que substituir o caractere asterisco usando [estrela] já que este blog não irá imprimi-los - desculpe.
P.S.S. Eu sei. Eu sei! Eu provavelmente posso adicionar o caractere asterisco [estrela], mas eu já postei. Então, por favor, não fique preso a isso. Vou tentar lembrar (como estou postando) da próxima vez.
Tags command-line bash terminal