Listar arquivos em um diretório com uma certa extensão

4

Eu criei um arquivo chamado ~/usrlibs.txt , que contém o número de arquivos que começam com lib e o final .a encontrado no /usr/lib directory .

Eu tentei:

ls -l /usr/lib/lib .a | wc -w > ~/usrlibs.txt 

Mas este comando não está funcionando corretamente.

O que estou perdendo?

    
por user72510 25.06.2014 / 20:59

3 respostas

4

Você quer dizer listar todos os arquivos que começam com lib e terminar com .a em /usr/lib e, em seguida, imprimir a contagem de palavras com wc a usrlibs.txt ?

ls -l /usr/lib/lib*.a | wc -w > ~/usrlibs.txt

deve funcionar. Você acabou de esquecer de adicionar um caractere curinga entre seus padrões.

    
por 25.06.2014 / 21:05
2

Seu comando ls -l /usr/lib/lib*.a | wc -w > ~/usrlibs.txt apenas conta as palavras da saída que ls -l gera.

Eu acho que você pesquisa contando a palavra nesses arquivos lib*.a :

user@host:~# wc -w /usr/lib/lib*.a
    222 /usr/lib/libanl.a
     31 /usr/lib/libBrokenLocale.a
     24 /usr/lib/libbsd-compat.a
  54564 /usr/lib/libc.a
    298 /usr/lib/libc_nonshared.a
    832 /usr/lib/libcrypt.a
    206 /usr/lib/libdl.a
     24 /usr/lib/libg.a
      6 /usr/lib/libieee.a
  15842 /usr/lib/libm.a
     12 /usr/lib/libmcheck.a
   2681 /usr/lib/libnsl.a
  37214 /usr/lib/libpthread.a
     99 /usr/lib/libpthread_nonshared.a
   1537 /usr/lib/libresolv.a
    600 /usr/lib/librpcsvc.a
    984 /usr/lib/librt.a
    431 /usr/lib/libsupp.a
    164 /usr/lib/libutil.a
 115771 total
    
por 25.06.2014 / 21:12
1

Tente usar "encontrar" em vez de "ls":

find /usr/lib -name "lib*.a" | wc -w > ~/usrlibs.txt

O curinga: * na frase "lib * .a" fornecerá todos os arquivos que começam com 'lib' e terminam com '.a'

    
por 25.06.2014 / 21:07