У меня есть два текстовых файла, file1 и file2. В file1 я хотел бы запустить нумерацию во втором столбце (после пространства) от 0. Однако эта новая нумерация должна соответствовать нумерации в file2.
file1.txt
b/boat_deck/19405.jpg 19
b/boat_deck/19491.jpg 19
c/church_outdoor/32697.jpg 325
c/church_outdoor/32110.jpg 325
c/courtyard/42770.jpg 42
c/courtyard/42654.jpg 42
file2.txt
val/00000533.jpg 325
val/00000378.jpg 19
val/00000524.jpg 42
Желаемый вывод с новой нумерацией. Как Вы видите в newfile1, 19 был заменен 0, 325 на 1 и 42 на 2. Аналогично, в newfile2, числа во втором столбце соответствуют новой нумерации (от newfile1).
newfile1.txt
b/boat_deck/19405.jpg 0
b/boat_deck/19491.jpg 0
c/church_outdoor/32697.jpg 1
c/church_outdoor/32110.jpg 1
c/courtyard/42770.jpg 2
c/courtyard/42654.jpg 2
newfile2.txt
val/00000533.jpg 1
val/00000378.jpg 0
val/00000524.jpg 2
Как насчет
awk '
BEGIN{n=0}
NR==FNR && a[$2]=="" {
a[$2]=n++
}
{
$2=a[$2]; print $0 > "new"FILENAME
}' file1.txt file2.txt