Uma abordagem básica com read
e sed
(e sem verificação de erros):
#!/usr/bin/env bash
read -p "Enter Client ID: " client
read -p "Enter field to change: " field
read -p "Enter new data: " data
case "$field" in
*name) field=2 ;;
address) field=3 ;;
town) field=4 ;;
esac
sed -i "/^$client/ {s/[^,]*/$data/$field}" datafile