Ricerche globali
Sintassi:
[range]g/espr_reg/[comando]
- Applicato a tutte le linee di range
- Lista (inizio,fine) come in ed o espressione regolare
- Ricerca espr_reg un'espressione regolare
- Esegue il comando specificato
p- mostra le righe trovate#- mostra le righe col numero di rigad- cancella le righe trovatey- copy (yank) delle righe trovatenormalcomando - esegue il comando esteso vi su ogni riga trovata
Esempi
g/the$/p- Mostra tutte le righe che terminano con the
.,$g/^ *pippo/#- Dalla riga corrente a fine file mostra i numeri e le righe contenenti pippo dopo un qualsiasi numero di spazi da inizio riga
g/^$/d- Cancella tutte le righe vuote
1,/^Examples/g/^Section/+y- Da inizio file alla riga che comincia con Examples copia la linea dopo quella che inizia con Section
g/^Section/normal ONew- Trova tutte le righe che cominciano con Section e aggiungi prima di esse una riga contenente New
Il comando g/Regular_Expression/p è così usato e utile, che è diventato il comando linux grep.
Sostituzioni globali
Sintassi:
[range]s/espr_reg/str_rimpiazzo/[flags][conto]
- Applicato a tutte le linee di range
- Lista (inizio,fine) o espressione regolare
- Ricerca espr_reg, un'espressione regolare
- La sostituisce con la stringa di rimpiazzo
- Secondo le modalità dei flags
c- chiede confermai- ignora caseI- obbedisce al case (default)n- non esegue la sostituzionep- stampa solo le linee trovate (non è necessaria la stringa di rimpiazzo)
- Esegue conto volte (default una)
n- (numero) volteg- ogni volta sulla linea