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
debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per
problemi inviare un email in INGLESE a listmas...@lists.debian.org

To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/banlktinf6vjzyobqqa8k3adtjzszttz...@mail.gmail.com

Rispondere a