abc.txt состоит из двух данных столбца как
1 A1021
2 A1021
3 A1022
4 A1022
Я хочу еще один тестовый файл, скажем pqr.txt (замена A1021
на 1
и A1022
на 2
и так далее).
Я использовал следующий обычный код Perl в качестве
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)
Как я могу сделать цикл, если у меня есть большой набор данных (скажем, 500) и разрывные значения во втором столбце в файле abc.txt как
1 A1021
2 A1021
3 A1022
4 A1022
5 A1026
6 A1026
Я заинтересован , чтобы заменить A1021
на 1
, A1022
по 2
и A1026
на 3
и так далее. Любые другие предложения, такие как использование awk или python, могут мне помочь.
Ответы:
Если вы хотите, чтобы выходы всегда увеличивались:
(A1021, A1021, A1025, A1029, A1025 = 1, 1, 2, 3, 4)
Если вы хотите, чтобы один и тот же вход имел одинаковый вывод:
(A1021, A1021, A1025, A1029, A1025 = 1, 1, 2, 3, 2)
источник