Одним из способов может быть использование sed
с группами захвата и обратной ссылкой на третью группу захвата, чтобы сопоставить начало второго столбца с тем, что записано в первом столбце.
^(("([^"]+)";")\3 )
Regex demo
Пояснение
^
Утверждение начала строки (
1-я группа захвата (
2-я группа захвата "([^"]+)";"
Совпадение двойных кавычек и захватывание того, что находится между ними в 3-й группе захвата, с последующим сопоставлением ;"
)\3
Закрыть 2-ю группу захвата и сопоставить данные, захваченные в 3-й группе захвата, используя обратную ссылку, за которой следует пробел
)
Закрытьпервая группа захвата
Затем при замене используйте вторую группу захвата:
sed -r 's/^(("([^"]+)";")\3 )/\2/' file.csv
Если вы хотите сделать резервную копию, используйте:
sed -r -i.bak 's/^(("([^"]+)";")\3 )/\2/' file.csv