Após a ajuda do @ClaudioM, encontrei a resposta que estava procurando.
#!/bin/bash
if [ -z "${3}" ];then
echo "Usage: <filename> <delimiter> <field_no>"
else
FILENAME=$1
DELIMITER=$2
FIELD_NO=$3
TEMP_FILE=/tmp/tempFile
if [ -f $TEMP_FILE ]; then
rm $TEMP_FILE
fi
OLDIFS=$IFS; IFS=$'\n'
for line in $(cat $FILENAME)
do
echo $line
oldValue='echo $line|cut -d$DELIMITER -f$FIELD_NO'
echo "Enter the value to replace [$oldValue]"
read newValue
echo $line | awk -F "$DELIMITER" '{$'$FIELD_NO'="'$newValue'"}{print}' OFS=$DELIMITER >> $TEMP_FILE;IFS=$OLDIFS
done
fi
mv $TEMP_FILE $FILENAME