regular-expression – Sustituir la segunda ocurrencia en línea

Pregunta:

Tengo una lista de archivos:

./a.temp.txt     ./a.temp.txt
./a/b.temp.txt   ./a/b.temp.txt
./a/b/c.temp.txt ./a/b/c.temp.txt

Y quiero eliminar la temp. en cada línea, pero solo en la segunda aparición , por lo tanto, el archivo debería verse así:

./a.temp.txt     ./a.txt
./a/b.temp.txt   ./a/b.txt
./a/b/c.temp.txt ./a/b/c.txt

¿Cómo debería hacer esto?

Respuesta:

En general, puede hacer coincidir la enésima aparición de algo usando \zs y \{N} . Hay un ejemplo en :help \zs .

En su caso, el comando sería:

:%s/\(.\{-}\zstemp\.\)\{2}//

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım