Saltar al contenido

eliminar una columna con awk o sed

Solución:

prueba esto corto:

awk '!($3="")' file

Con GNU awk para la edición in situ, s/S, y gensub() borrar

1) el PRIMER campo:

awk -i inplace '{sub(/^S+s*/,"")}1' file

o

awk -i inplace '{$0=gensub(/^S+s*/,"",1)}1' file

2) el último campo:

awk -i inplace '{sub(/s*S+$/,"")}1' file

o

awk -i inplace '{$0=gensub(/s*S+$/,"",1)}1' file

3) la Nth campo donde N = 3:

awk -i inplace '{$0=gensub(/s*S+/,"",3)}1' file

Sin GNU awk necesitas un match()+substr() combo o múltiple sub()s + vars para eliminar un campo intermedio. Consulte también Imprimir todas las columnas excepto las tres primeras.

Esto podría funcionar para usted (GNU sed):

sed -i -r 's/S+//3' file

Si desea eliminar el espacio en blanco antes del tercer campo:

sed -i -r 's/(s+)?S+//3' file
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *