The UNIX and Linux Forums  
Olá e boas-vindas de Estados Unidos para o UNIX e Linux Forum! Obrigado por visitar e fazer parte da nossa comunidade global.

Go Back   O UNIX e Linux Forum > Top Fóruns > UNIX para Dummies Perguntas & Respostas
.
google unix.com



UNIX para Dummies Perguntas & Respostas Se não tiver certeza de onde se pode postar uma pergunta Unix ou Linux, postá-lo aqui. Todos os UNIX e Linux novatos bem vindos!

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
enviar e-mail da lista de endereços e sujeito lista paulds UNIX para Dummies Perguntas & Respostas 2 06-27-2008 10:11
script perl para listar ficheiros que não contenham determinada string royalibrahim Programação Shell Script e 21 04-22-2008 01:55
Como a lista e copie os arquivos que contenham uma string redlotus72 UNIX para Dummies Perguntas & Respostas 11 09-28-2007 11:58
Procurar uma seqüência da lista de ficheiros de entrada sivakumarvenkat UNIX para Dummies Perguntas & Respostas 2 03-08-2006 06:08
Extraindo seqüência de uma lista odogbolu98 Programação Shell Script e 4 06-01-2002 02:48

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 08-13-2008
Pep Puigvert Pep Puigvert is offline
Usuário
  
 

Join Date: Aug 2008
Posts: 3
Lightbulb contando uma lista de string em uma lista de arquivos txt

Oi lá!

Txt eu tenho 150 arquivos chamados chunk1, chunk2, ........., chunk150. Tenho um segundo arquivo chamado string.txt com mais de 1000 únicos cordas, casa, cão, gato ... Eu quero saber qual comando devo usar para contar quantas vezes cada seqüência aparece na 150 arquivos.

Eu testei com um cão chunk grep-c *, mas depois fico com a contagem de todos os arquivos e eu tenho que fazê-lo separadamente para cada uma das cordas.

A solução ideal seria uma saída dizendo:

cão 45
cat 69
Casa 92
música 45

Muito obrigado antecipadamente.

Kind regards,
Pep
  #2 (permalink)  
Old 08-13-2008
jim McNAMARA jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Localização: NM
Mensagens: 5.728
Código:
cat chunk* > tmp.tmp
awk '   FILENAME=="string.txt" { arr[$0]=0 }
        FILENAME=="tmp.tmp"  { for(i=1; i<=NF; i++) {
             if ($i in arr) {arr[$i]++} 
        }}        
        END { for (i in arr) { print i, arr[i]}} ' string.txt tmp.tmp
  #3 (permalink)  
Old 08-14-2008
Pep Puigvert Pep Puigvert is offline
Usuário
  
 

Join Date: Aug 2008
Posts: 3
Jim,

Muito obrigado pela resposta rápida, mas quando eu tenho que correr o seguinte erro.

awk: erro de sintaxe próximo linha 3
awk: declaração ilegal perto da linha 3
awk: erro de sintaxe próximo linha 5
awk: bailing out perto da linha 5

Você sabe se existe algo de errado?
Obrigado
Pep
  #4 (permalink)  
Old 08-14-2008
drl's Avatar
DRL drl is offline Forum Advisor  
Usuário
  
 

Join Date: Apr 2007
Localização: Saint Paul, MN E.U.A. / BSD, CentOS, Debian, Mac OS X, Solaris
Lugares: 707
Oi.

A maioria das versões do grep pode lidar com um arquivo de padrões, de modo a que padrão * nix utlities podem ser utilizados:
Código:
#!/bin/bash -

# @(#) s3       Demonstrate string count total from files.

echo
echo "(Versions displayed with local utility \"version\")"
version >/dev/null 2>&1 && version =o $(_eat $0 $1) grep sort uniq
set -o nounset
echo

echo " strings file:"
cat strings

echo
echo " data files" data* ":"
cat -n data*

echo
echo " Results:"
grep -h -f strings data* |
sort |
uniq -c

exit 0
Produção:
Código:
% ./s3

(Versions displayed with local utility "version")
Linux 2.6.11-x1
GNU bash 2.05b.0
grep (GNU grep) 2.5.1
sort (coreutils) 5.2.1
uniq (coreutils) 5.2.1

 strings file:
dog
horse
cat

 data files data1 data2 data3 data4 :
     1  File 1
     2  monkey
     3  cat
     4  dog
     5  dog
     6  File 2
     7  horse
     8  sawhorse
     9  Files 3
    10  cat
    11  horse
    12  witch
    13  seven
    14  File 4
    15  spider
    16  hoarse
    17  horse
    18  horse
    19  horse
    20  cat

 Results:
      3 cat
      2 dog
      5 horse
      1 sawhorse
Os ficheiros são filtrados para as linhas que contêm seqüências de interesse. Então, a fim de contar com uniq, Precisamos de ordenar o resultado.

Se você precisa de uma melhor filtragem, pode ser necessário alterar os padrões nas cordas arquivo, ou - em algumas versões do grep - Usar a "palavra" opção "-w".

Ajuste conforme necessário para o seu ambiente de acordo com as suas páginas man ... cheers, DRL
  #5 (permalink)  
Old 08-15-2008
Pep Puigvert Pep Puigvert is offline
Usuário
  
 

Join Date: Aug 2008
Posts: 3
Graças um lote que está trabalhando agora!

Kind regards,

Pep
Closed Thread

Marcadores

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 03:04.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0