abc.txt se compose de deux données de colonne comme
1 A1021
2 A1021
3 A1022
4 A1022
Je veux un autre fichier de test, disons pqr.txt (en remplacement de A1021
par 1
et A1022
par 2
etc).
J'ai utilisé le code perl habituel suivant comme
open(IN,"abc.txt") or die;
open(OUT,">pqr.txt") or die;
While(<IN>) {
chomp;
$curline = $_;
@data = split(' ',$curline);
If($data[1] eq A1021) {$data[1] = 1;}
If ($data[1] eq A1022) {$data[1] = 2;}
}
close(IN)
close(OUT)
Comment puis-je faire une boucle si j'ai un grand ensemble de données (disons 500) et des valeurs discontinues dans la deuxième colonne du fichier abc.txt
1 A1021
2 A1021
3 A1022
4 A1022
5 A1026
6 A1026
Je suis intéressé pour remplacer A1021
par 1
, A1022
par 2
et A1026
par 3
etc. Toute autre suggestion, comme l'utilisation de awk ou de python, pourrait m'aider.
Réponses:
Si vous voulez que les sorties soient toujours incrémentées:
(A1021, A1021, A1025, A1029, A1025 = 1, 1, 2, 3, 4)
Si vous voulez que la même entrée ait la même sortie:
(A1021, A1021, A1025, A1029, A1025 = 1, 1, 2, 3, 2)
la source