У меня есть файл с разделителями табуляции1, где первый столбец выглядит как
1
1
6
6
6
1A
1A
1B
2
2
2
2
3
4
4A
Z
Z
Я хочу заменить так, чтобы 1 = 1, 1A = 2, 1B = 3, 2 = 4, 3 = 5, 4 = 6, 4A = 7, 6 = 8, Z = 9
Выход должен быть тогда
1
1
8
8
8
2
2
3
4
4
4
4
5
6
7
9
9
Я отправил другие посты, в которых говорилось, что во избежание кумулятивного замещения я должен перейти от больших значений к меньшим и выполнить множественные подстановки, используя:
sed -e 's/a/b/g ; s/b/d/g' file
но мне нужно сделать 60 замен.
Есть ли способ, которым я могу сделать это в цикле или какой-то другой альтернативе вместо написания 60 замен
Обратите внимание, что каждый элемент повторяется разное время, и они могут быть числами и символами, но я заменяю их всех числами 1-60, и в предопределенном порядке, а не в порядке их появления. В моем файле есть другие столбцы с такими же символами, но я хочу заменить их только на 1-й столбец.