Il 21 maggio 2011 14:25, Gollum1 ha scritto: > vorrei sapere come posso fare questa cosa con le regexp. > > Quando trovo una stringa del genere: > > <A name=197></a>38 <br> > > Vorrei sostituirla con Qualcosa del genere: > > <h2>Capitolo 38</h2>
Ecco qua quello che ti serve: echo "<A name=197></a>38 <br>" | \ sed 's/<A name=[0-9]\+><\/a>\([0-9]\+\) <br>/Capitolo \1/' Probabilmente per le prove che stai facendo in Kate non ti serviranno tutti gli escape delle parentesi e dei segni + che invece servono sulla shell. Alcune note: Quando ti serve usare una parte del match nella sostituzione, basta inserire quella parte tra parentesi tonde e poi riferirla come ho fatto io sopra (nota il \1 finale). Naturalmente quando usi più parentesi tonde, le richiami con \1, \2, \3 ecc. Questo in sed. Con altri programmi\linguaggi potresti dover usare $1 o altre forme ancora. Infine ti consiglio 2 links utilissimi quando si lavora con le regexp: http://www.nvcc.edu/home/drodgers/ceu/resources/test_regexp.asp http://xenon.stanford.edu/~xusch/regexp/analyzer.html Il primo ti permette di fare un match veloce (le prove che adesso stai facendo con Kate in pratica). Mentre il secondo analizza la regexp e stampa tutto il flusso logico permettendoti di individuare eventuali errori. Ciao -- Mattia -- Per REVOCARE l'iscrizione alla lista, inviare un email a [email protected] con oggetto "unsubscribe". Per problemi inviare un email in INGLESE a [email protected] To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

