AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / ubuntu / Perguntas / 1544157
Accepted
Curious student
Curious student
Asked: 2025-03-21 06:20:45 +0800 CST2025-03-21 06:20:45 +0800 CST 2025-03-21 06:20:45 +0800 CST

Curingas e profundidade de pesquisa

  • 772

Eu tenho uma estrutura de arquivo semelhante a esta

.
├── streaming
│   └── streaming - Copy
├── hw1
│   ├── concurrent-downloads
│   ├── cpu_multiprocessing.py
│   ├── cpu_synchronous.py
│   ├── cpu_threading.py
│   ├── io_asyncio.py
│   ├── io_multiprocessing.py
│   ├── io_synchronous.py
│   ├── io_threading.py
│   └── soluciones
└── hw2
└── iteradores.ipynb

Quando executo algum comando como ls cpu*o do diretório de trabalho, recebo:

ls: cannot access 'cpu*': No such file or directory

(também, um comando como ls [c]*mostra a mesma saída). Claro, quando eu o executo depois, cd hw1mas para certos curingas como ls [[:lower:]ele mostra uma saída de 2 níveis de recursão:

`streaming:
'streaming - Copy'

hw1:
concurrent-downloads    cpu_synchronous.py  io_asyncio.py          io_synchronous.py  soluciones
cpu_multiprocessing.py  cpu_threading.py    io_multiprocessing.py  io_threading.py

hw2:
iteradores.ipynb`
command-line
  • 1 1 respostas
  • 273 Views

1 respostas

  • Voted
  1. Best Answer
    pLumo
    2025-03-21T07:00:33+08:002025-03-21T07:00:33+08:00

    Esse é um comportamento normal. lsnão recurse e não avaliará o padrão glob. O shell está fazendo isso!

    Se você executar lsem um diretório, ele mostrará o conteúdo do diretório por padrão.
    Use -dpara mostrar apenas os nomes dos diretórios, não seus conteúdos.

    Então, ls [[:lower:]]*não recurse. O shell irá corresponder e expandir os diretórios que começam com um caractere minúsculo e lsmostrará seu conteúdo.

    Você pode usar ls */cpu*para localizar cpu*todos os subdiretórios, mas isso também não lsé recursivo, mas seu shell expande o primeiro *para todos os subdiretórios.

    Como alternativa, você pode usar a globstaropção shell para obter recursão:

    shopt -s globstar
    
    # find all files starting with cpu recursively.
    ls **/cpu*
    
    # turn off globstar
    shopt -u globstar
    

    ainda assim, lsnão recursivamente, mas o shell sim.


    Para obter recursão fora do shell, use o findcomando:

    find . -type f -name "cpu*"
    
    • 7

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Existe um comando para listar todos os usuários? Também para adicionar, excluir, modificar usuários, no terminal?

    • 9 respostas
  • Marko Smith

    Como excluir um diretório não vazio no Terminal?

    • 4 respostas
  • Marko Smith

    Como descompactar um arquivo zip do Terminal?

    • 9 respostas
  • Marko Smith

    Como instalo um arquivo .deb por meio da linha de comando?

    • 11 respostas
  • Marko Smith

    Como instalo um arquivo .tar.gz (ou .tar.bz2)?

    • 14 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Martin Hope
    Flimm Como posso usar o docker sem sudo? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    led-Zepp Como faço para salvar a saída do terminal em um arquivo? 2014-02-15 11:49:07 +0800 CST
  • Martin Hope
    ubuntu-nerd Como descompactar um arquivo zip do Terminal? 2011-12-11 20:37:54 +0800 CST
  • Martin Hope
    TheXed Como instalo um arquivo .deb por meio da linha de comando? 2011-05-07 09:40:28 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    David Barry Como determino o tamanho total de um diretório (pasta) na linha de comando? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher "Os seguintes pacotes foram retidos:" Por que e como resolvo isso? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford Como os PPAs podem ser removidos? 2010-07-30 01:09:42 +0800 CST

Hot tag

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve