• Opret dig
  • Glemt adgangskode

User account menu

  • Artikler
  • Forside
  • Forum
  • Nyheder
  • Log ind
Hjem
LinuxIN.dk

Snak med

Opret dig!

Af uldall | 18.06.2011 09:48

awk og sætninger med mellemrum

Programmering
Hej folkens.
Jeg sidder og prøver at lave et script til at analysere en ordliste.

Jeg vil gerne have awk til at printe hvilke sætninger der fremgår oftest på min liste. Mit problem består i, at jeg kun kan få awk til at printe de enkelte ord.

AWK-kode ($1 er ordlisten)

cat $1 | awk '{arr[$1]++} END {for(i in arr) print arr[i],i}' $1 | sort -nr

Ordliste:

hej
hej med dig
hej med dig

AWK finder ganske rigtigt ud af, at ordet "hej" topper listen, idet det står der 3 gange.
Jeg vil gerne have AWK til at printe, at "hej med dig" står 2 gange i listen. Altså have AWK til at læse linjen som en sætning, og ikke individuelle ord.

- Hvordan gør man lige det?
  • Log ind eller opret dig for at tilføje kommentarer

Kommentarer1

# 1

15 år 2 måneder siden

Permalink

Indsendt af marlar den 19. juni 2011 kl. 10:51

Permalink

Jeg vil gerne have AWK

#0: Jeg vil gerne have AWK til at printe, at "hej med dig" står 2 gange i listen. Altså have AWK til at læse linjen som en sætning, og ikke individuelle ord.

Brug $0 inden i awk i stedet for $1. $1 betyder første felt (her ord), mens $0 betyder hele linjen. Altså fx:

cat ordliste | awk '{arr[$0]++} END {for(i in arr) print arr[i],i}'

Du kan også gøre det så simpelt:

uniq -ic ordliste

-i betyde case insensitive, så hej og Hej tæller som samme ord. Fjern -i hvis du ikke ønsker dette.
  • Log ind eller opret dig for at tilføje kommentarer

Svar søges

Brave lancerer e-mail-aliasser for at skjule din rigtige e-mailadresse 0
OpenMandriva tilsyneladende udsat for sabotage 0
Linux Fanpakke til LUG'er og foreninger 0
KDE Plasma 6.6 skrivebordsmiljø udgivet 0
GRUB 2.14 introducerer understøttelse af EROFS, forbedringer til Btrfs og LVM 0

Seneste aktivitet

Jolla phone 2026 3
Arch Linux baseret Omarchy har sikret sig 8 millioner dollars i støtte 1
Debian 13 overtager over 2.200 kontrolsystemer hos CERN 2
USB Printer 2
Fremviser 2
Udbud af MitID-løsningen 2
JOPDF for Linux 3
Hvad gør jeg 1
tst 2
Gnome extensions 7
Commodore-telefon med SailfishOS 3
(U)hyggen breder sig 8
GRUB eller Limine? 2
Det engang så elskede PCLinuxOS er tilbage - og det er stadig en fantastisk Windows erstatning 2
Lenovo P16 2
Microsoft har netop officielt bragt Linux kommandoer til Windows 2
Ubuntu Mate 26.04 | Kern 4
USB problemer 14
Copy fail sårbarhed åbner for Root adgang 5
Eksperter frygter konsekvenserne ved kunstig intelligens 2

© 2026 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !