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