UNIX: Meter un campo entre corchetes

Tengo un archivo con tres campos separados por blancos y quiero que el tercero de ellos aparezca entre corchetes, utilizando comandos UNIX.
1

1 respuesta

Respuesta
1
Mediante este script, siendo el fichero de entrada fich en el que hay tres campos separados por un espacio:
#!/usr/bin/ksh
while read a
do
campo12=`echo $a | cut -f1,2 -d" "`
campo3=`echo $a | cut -f3 -d" "`
echo $campo12"["$campo3"]" >> fich.out
Done < fich
Así se obtiene un fichero de salida llamado fich.out donde los dos primeros campos están como estaban y el tercero aparece con un "[" al principio y un "]" al final, sin espacio. Si quieres mantener el espacio antes del corchete abierto "[", la sexta línea quedaría:
echo $campo12" ["$campo3"]" >> fich.out
Como ves se trata sencillamente de reconstruir el fichero de entrada.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas