"Juste pour le fun y'avait pas d'autre solutions ?"
Il n'y en a pas 36 en POSIX sh(1). Il n'y a pas de tableaux et tu sembles avoir une solution qui en implique un, donc je suppose que tu fais du bash(1) finalement ?
Quand tu dis "ligne", tu parles d'une chaîne de caractères (dans une variable par ex.) ou d'une ligne d'un fichier ?
Je pars du principe qu'il n'est pas question de fichier ici.
En bash(1) tu ferais simplement ça :
var=mot1,mot2,mot3
IFS=, read -ra words <<< "$var"
echo "${words[0]}"
En sh(1), t'as pas vraiment le choix, tu truanderais avec set(0)
:
var=mot1,mot2,mot3
oldifs=$IFS IFS=,
set -f -- $var
IFS=$oldifs
echo "$1"
Le principe est d'utiliser les variables qui sont normalement destinées aux arguments de ton script passés sur la ligne de commande, donc si ton script en accepte et que tu veux t'en servir après cette manip, il faut que tu les stockent dans des variables au préalable. 