[shell]

Résolu
ness1950 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
ness1950 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -
bonjour,
j'ai un fichier .txt dans lequel je veux tirer aleatoirement des lignes (sans [redondance de preference) et pouvoir recuperer le numero des lignes tirees.

au final je voudrai avoir en sortie un txt avec pour chaque ligne 0/1 (tiré/non tiré) + txt avec les lignes tirées

pour le moment j utilise line=$(shuf -n 1 $file_train) echo {$line} pour le txt avec les lignes.

je ne vois pas comment recuperer les numeros de lignes?
merci
A voir également:

3 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
si le fichier contient
a
b
c
d
e
et que shuf retourne c tu veux ?
1 1
1 2
0 3 c
1 4
1 5
0
ness1950 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
oui si shuf retourne c, je veux recuperer
0
0
1
0
0
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
une solution avec awk, ne fonctionne que pour shuf -n 1 :
$ cat fichier
a
b
c
d
e
$ awk -v v="$(shuf -n 1 fichier)" '{n=1} $0 ~ v {n=0} {print n}' fichier
1
1
1
0
1
$ 
0
ness1950 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
ca marche!
merci
0