The UNIX and Linux Forums  

Go Back   De Unix-en Linux Forum > Top Forums > UNIX voor Dummies Questions & Answers
.
google unix.com



UNIX voor Dummies Questions & Answers Als u niet zeker weet waar je een Unix-of Linux vraag, post het hier. Alle UNIX-en Linux beginners van harte welkom!!

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
verzenden van e-mail adres uit de lijst en onderworpen lijst paulds UNIX voor Dummies Questions & Answers 2 06-27-2008 11:11
perl-script naar lijst bestandsnamen die geen gegeven string royalibrahim Programmeren en Shell Scripting 21 04-22-2008 02:55 PM
Hoe Lijst en kopieer de bestanden met een string redlotus72 UNIX voor Dummies Questions & Answers 11 09-28-2007 12:58
Zoek een string uit de lijst van de input-bestanden sivakumarvenkat UNIX voor Dummies Questions & Answers 2 03-08-2006 06:08 PM
Extracting String uit een lijst odogbolu98 Programmeren en Shell Scripting 4 06-01-2002 03: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 Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 08-13-2008
Pep Puigvert Pep Puigvert is offline
Geregistreerde gebruiker
  
 

Join Date: Aug 2008
Posten: 3
Lightbulb het tellen van een lijst van de string in een lijst van txt-bestanden

Hi there!

Ik heb 150 txt bestanden met de naam chunk1, chunk2, ........., chunk150. Ik heb een tweede bestand met de naam string.txt met meer dan 1000 unieke strijkers, huis, hond, kat ... Ik wil weten welke commando ik moet gebruiken om te tellen hoe vaak elke tekenreeks verschijnt in de 150 bestanden.

Ik heb geprobeerd met een grep-c hond chunk *, maar dan krijg ik de telling van alle bestanden en ik heb het te doen apart voor elk van de strijkers.

De ideale oplossing zou zijn een output te zeggen:

hond 45
cat 69
huis 92
nummer 45

Bedankt op voorhand.

Met vriendelijke groet,
Pep
  #2 (permalink)  
Old 08-13-2008
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Locatie: NM
Berichten: 5.808

Code:
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
Geregistreerde gebruiker
  
 

Join Date: Aug 2008
Posten: 3
Jim,

Bedankt voor de snelle antwoord, maar bij het uitvoeren van haar kreeg ik de volgende foutmelding.

awk: syntaxisfout buurt van lijn 3
awk: illegale verklaring buurt van lijn 3
awk: syntaxisfout buurt van lijn 5
awk: bail out nabij lijn 5

Weet u of er iets mis is?
Bedankt
Pep
  #4 (permalink)  
Old 08-14-2008
drl's Avatar
DRL drl is offline Forum Advisor  
Geregistreerde gebruiker
  
 

Join Date: Apr 2007
Plaats: Saint Paul, MN USA / BSD, CentOS, Debian, OS X, Solaris
Posts: 717
Hoi.

De meeste versies van grep kan een bestand van patronen, zodat de standaard * nix utlities kan worden gebruikt:

Code:
#!/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

Produceren:

Code:
% ./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

De bestanden worden gefilterd voor de lijnen die snaren van belang. Dan, om te rekenen met uniqWe moeten dit soort het resultaat.

Als u beter filteren, moet u mogelijk om de patronen in de strijkers bestand, of - in sommige versies van grep - Gebruik van het "woord" optie "-w".

Pas als die nodig zijn voor uw omgeving op basis van uw man-pagina's ... cheers, DRL
  #5 (permalink)  
Old 08-15-2008
Pep Puigvert Pep Puigvert is offline
Geregistreerde gebruiker
  
 

Join Date: Aug 2008
Posten: 3
Bedankt het werkt nu!

Met vriendelijke groet,

Pep
Closed Thread

Bladwijzers

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 06:08 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0