PDA

Visualizza la versione completa : [bash] verificare che una sottostringa inizia con substring


esoni
09-04-2011, 00:04
ciao ragazzi ho un file di questo contenuto:
pippo$minnie$ALTOPASCIO$PISTOIA$PRATO$FIRENZE$AREZ ZO
pippo$pluto$ALTOPASCIO$PISTOIA$PRATO$FIRENZE$AREZZ O
minnie$pluto$PRATO$FIRENZE
minnie$pippo$PRATO$FIRENZE$BARBERINO DI MUGELLO
pluto$pippo3$PISTOIA$PRATO$FIRENZE$AREZZO

il mio obbiettivo contare le righe che iniziano con pippo$, ovvero deve valutare come righe da contare la prima e la 2 riga(mentre non la 3)
nel seguente codice che ho scritto conta tutte le sottostringhe e qindi mi restituisce 3 invece di 2
in ogni iterazione in line ho la riga del file,
a questo punto come posso progettare il mio if in modo che vada a testare che la riga inizi con pippo$ ?
in poche parole deve vedere se la stringa == pippo$*$*( come faccio ascrivere questa cosa?


#!/bin/bash
exec 6< $1
cnt=0
SOTTOSTRINGA='pippo$'
while read -u 6 line
do
if [[ "$line" =~ "$SOTTOSTRINGA" ]]; then
let cnt=cnt+1
fi
done
echo $cnt

bubi1
11-04-2011, 16:46
usa sed.

sed -n '/^pippo\$.*\$/p' tuo_file

Loading