[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] aiuto in bash



On Mon, 22 Dec 2008 15:51:31 +0100, Luca wrote:

> Supponiamo di avere:
> 
> #!/bin/bash
> 
> frase="oggi domani ieri oggi giallo verde oggi"
> 
> $num_occorrenze=$(echo $frase | grep 'oggi' .................)???????
  ^ questo non ci vuole qui :P
> 
> come faccio in bash a trovare il numero di volte che la stringa "oggi"
> compare nella variabile frase?

Se è proprio come l'esempio che hai fatto, è semplice, basta un piccolo
"trucco":

echo $frase | tr " " "\n" | grep oggi | wc -l

Cioè, trasformi gli spazi in \n (ritorno a capo), e poi usi grep e wc -l.

Questo funziona anche per le sottostringhe (tipo "oggidomani", tutto unito), ma
non se è ripetuto più di una volta (tipo "oggidomanioggi" conta sempre 1 volta).

Comunque, se spieghi cosa devi/vuoi fare, magari c'è una soluzione più
efficiente :)

Ciao,
David

-- 
 . ''`.  Debian maintainer | http://wiki.debian.org/DavidPaleino
 : :'  : Linuxer #334216 --|-- http://www.hanskalabs.net/
 `. `'`  GPG: 1392B174 ----|---- http://snipr.com/qa_page
   `-   2BAB C625 4E66 E7B8 450A C3E1 E6AA 9017 1392 B174

Attachment: signature.asc
Description: PGP signature


Reply to: