BASH – Script variable de entorno IFS (Internal Field Separator).

La variable de entorno IFS que significa Internal Field Separator (separador de campos internos), sirve para indicar que valor se usa como separador.
Un caso muy útil para la variable IFS que uso con frecuencia es la división de una IP en variables, por ejemplo:

ip=»1.2.3.4″
# dividimos la IP en 4 variables
IFS=. read ip1 ip2 ip3 ip4 <<< "$ip" echo "$ip1 $ip2 $ip3 $ip4" obtenemos 1 2 3 4 En el siguiente ejemplo tendremos un archivo llamado "agenda.txt" en el que cada línea del archivo esta compuesta por 5 campos cada uno y dichos campos están separados por una coma ",". Otra cosa interesante de notar en este ejemplo es que cada línea que se lee del archivo es almacenada en un ARRAY.

#!/bin/bash
# Guardamos el valor por defector que tiene IFS
SAVEIFS=$IFS
IFS=»,»
agenda=`cat agenda.txt`
for registros in $agenda
do
echo -n ${registros[0]}»  «${registros[1]}»  «${registros[2]}»  «${registros[3]}»  «${registros[4]}
done
echo
# Dejamos nuevamente el valor inicial de IFS
IFS=$SAVEIFS
Esta entrada fue publicada en Unix - Linux. Guarda el enlace permanente.

Deja una respuesta

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