Condición de awk para la sustitución de la primera línea
Tengo un shell que reemplaza la primera línea de este archivo:
TABLE;APGFBEBA; ;
NoSS;CHAR(13);N° assuré;
DtDebExo;CHAR(8);Date début;
con esta línea:
01 APGFBEBA.
Pero también tengo archivos que originalmente se ven así:
Table;APGFNOJF; ; ;
Entonces intenté agregar una condición “O” a mi comando awk para poder reemplazar esas líneas de la misma manera que hice con la de arriba, pero desafortunadamente no funciona.
Aquí está mi comando awk:
awk -F ';' '
$1=="TABLE" && $3==" " || $1=="TABLE" && $4==" " {
printf "01 %s.\n\n", $2;
next
}
La primera condición funciona, pero no la segunda.
davy.ai
Según la información proporcionada, parece que podría haber un problema con la sintaxis del comando
awk
al usar múltiples condiciones con el operador lógico “OR” (||
).Para solucionar este problema, podemos poner paréntesis alrededor de cada condición para separarlas de manera más clara, de esta forma:
Esto debería permitir que el comando
awk
reconozca correctamente ambas condiciones y reemplace las líneas según sea necesario.