Il giorno Dec 20, 2004, alle 8:51 PM, Davide Prina ha scritto:
questo è il file di partenza: <us>hello</us><it>ciao</it><path>/lib/file1</path> <us>hello</us><it>miao</it><path>/lib/file2</path> <us>hello</us><it>prrr!</it><path>/lib/file3</path> <us>year</us><it>anno</it><path>/lib/file4</path> <us>day</us><it>giorno</it><path>/lib/file5</path> <us>month</us><it>mese</it><path>/lib/file6</path> <us>month</us><it>Mese</it><path>/lib/file7</path> <us>second</us><it>secondi</it><path>/lib/file8</path>
questo dovrebbe essere il risultato:
hello = ciao - path: /lib/file1 hello = miao - path: /lib/file2 hello = prrr! - path /lib/file3 month = mese - path: /lib/file6 month = Mese - path: /lib/file7
e ignora tutte le linee singole come per esempio le linee 4, 5 e 8
questo script qui sotto dovrebbe fare quello che chiedi
Le operazioni che devi fare sono:
1) copiare tutto in un file (es: script.sh)
2) dare i permessi di esecuzione al file
$ chmod +x script.sh
3) eseguire il file (vuole un file in input, altrimenti aspetta l'input dallo standard input)
$ ./script.sh miofile.txt
se vuoi salvarti il risultato su un altro file $ ./script.sh miofile.txt > miofile.txt.out
#!/bin/bash
sort $1 > "/tmp/$1.sort"
OldParola=""
OldTrad=""
OldLoca=""
Trovato=0
for Riga in $(cat "$1.sort")
{
NewParola=$(echo $Riga | sed "s/^[^>]*>//" | sed "s/<.*$//")
NewTrad=$(echo $Riga | sed "s/^[^>]*>[^>]*>[^>]*>//" | sed "s/<.*$//")
NewLoca=$(echo $Riga | sed "s/^[^>]*>[^>]*>[^>]*>[^>]*>[^>]*>//" | sed "s/<.*$//")
if [[ "$NewParola" == "$OldParola" || $Trovato = 1 ]]; then echo "$OldParola = $OldTrad - path: $OldLoca" fi
if [[ "$NewParola" != "$OldParola" ]]; then Trovato=0 else Trovato=1 fi
OldParola=$NewParola OldTrad=$NewTrad OldLoca=$NewLoca } # end for Riga
if [[ $Trovato = 1 ]]; then echo "$OldParola = $OldTrad - path: $OldLoca" fi
-- Linux User: 302090: http://counter.li.org Prodotti consigliati: Sistema operativo: Debian: http://www.it.debian.org Strumenti per l'ufficio: OpenOffice.org: http://it.openoffice.org Database: PostgreSQL: http://www.postgres.org Browser: FireFox: http://texturizer.net/firefox Client di posta: Thunderbird: http://texturizer.net/thunderbird Enciclopedia: wikipedia: http://it.wikipedia.org -- Non autorizzo la memorizzazione del mio indirizzo di posta a chi usa outlook: non voglio essere invaso da spam
-- Email.it, the professional e-mail, gratis per te: http://www.email.it/f
Sponsor: Telefona con Email.it Phone Card, tanti minuti di conversazione con il massimo del risparmio, clicca qui Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid&87&d!-12