Tengo un archivo 1.txt
INTEGER-d_int ()
INTEGER-d_int ()
INTEGER-d_int ( )
INTEGER-d_intClass()
INTEGER-d_intClass new()
y quiero reemplazar la ocurrencia de d_int con d_INT En las líneas 1 y 5.
En mi caso, estos números de línea están en una variable.
linux
awk
text-editing
Timson
fuente
fuente

Respuestas:
Establezca las variables a y b en las líneas en las que desea realizar la sustitución y luego ejecute awk:
En lo anterior, awk verifica si estamos en el número de línea.
$ao en el numero de linea$b. Si es así, realiza la sustitución.Parte del truco de usar
awkes proteger elawkcomandos desde el shell. Para hacer esto, elawklos comandos están entre comillas simples en todas partes, excepto cuando queremos explícitamente que la shell sustituya a for$ay$b.$ay$bestán cada uno en comillas doblesEn su muestra
1.txt, lo anterior produce:Enfoque alternativo
sedTambién se puede utilizar para esto. El comando sed para cambiar solo la línea 1 es1 s/d_int/d_INT/y elsedEl comando para cambiar solo la línea 5 es5 s/d_int/d_INT/. Por lo tanto, utilizando la sustitución de shell, unsedPrograma para hacer las sustituciones en líneas.aybes:Extensión a un número arbitrario de líneas.
Supongamos que nos suministran una lista arbitraria de
linesSobre la cual aplicar la sustitución:fuente
fuente