Pages : 1
#1 Le 19/09/2017, à 18:50
- Bryann705
[Résolu]Remplacement
Bonjour,
Je me permets de vous contacter afin de solliciter votre aide...
Je suis actuellement en train de réaliser un travail sur un système de morpion.
Dans un fichier txt j'ai ceci:
|0|0|0|0|0|
|0|0|0|0|0|
|0|0|0|0|0|
|0|0|0|0|0|
|0|0|0|0|0|
L'idée est qu'un utilisateur entre une colonne ainsi qu'une ligne pour pouvoir choisir ou poser sa croix..
Dans notre exemple, nous allons supposer que l'utilisateur souhaite déposer une croix à la ligne 3 colonne 3 ce qui donne :
|0|0|0|0|0|
|0|0|0|0|0|
|0|0|X|0|0|
|0|0|0|0|0|
|0|0|0|0|0|
Le problème c'est que je n'arrive pas à réaliser cette opération... je sèche dessus.
J'ai alors réalisé la commande ci-dessous
cat grille.txt | sed -n 3p | cut -d '|' -f3 | sed 's/0/\X /g'
Le problème c'est qu'il me retourne alors que "X", je ne sais pas intégrer ce X à la place du 0 à la ligne 3 colonnes 3.
A noter que je travaille donc avec un fichier TXT où tous les résultats sont contenus.
Merci.
Dernière modification par Bryann705 (Le 20/09/2017, à 09:00)
Cordialement Bryann705
Hors ligne
#2 Le 19/09/2017, à 19:15
- pingouinux
Re : [Résolu]Remplacement
Bonsoir,
lig=3; col=3
sed -r "${lig}s/((\|.){$((col-1))})(\|.)(.*)/\1|X\4/" grille.txt
dont voici le résultat
|0|0|0|0|0|
|0|0|0|0|0|
|0|0|X|0|0|
|0|0|0|0|0|
|0|0|0|0|0|
Ajouté : Avec awk
awk -vL=$lig -vC=$col 'BEGIN{FS=OFS="|"}NR==L{$(C+1)="X"}{print}' grille.txt
Dernière modification par pingouinux (Le 20/09/2017, à 04:58)
Hors ligne
#3 Le 20/09/2017, à 08:59
- Bryann705
Re : [Résolu]Remplacement
Merci pour votre réponse.
Cordialement Bryann705
Hors ligne
Pages : 1