У меня есть 2 файла file1.csv и file2.csv
file1.csv содержит только 1 столбец с сотнями строк.
aaa
ddd
fff
ggg
file2.csv содержит 5 полей с тысячами строк.
aaa,2,3,4,
aaa,2,3,4,
bbb,2,3,4,
ccc,2,3,4,
ccc,2,3,4,
ddd,2,3,4,
ddd,2,3,4,
ddd,2,3,4,
eee,2,3,4,
fff,2,3,4,
ggg,2,3,4,
hhh,2,3,4,
hhh,2,3,4,
Моя задача - проверить, совпадает ли col1, присутствующий в file1.csv, с col1 в fil2.csv, затем изменить 5-й столбец на Y в file2.csv
Желаемый вывод
aaa,2,3,4,Y
aaa,2,3,4,Y
bbb,2,3,4,
ccc,2,3,4,
ccc,2,3,4,
ddd,2,3,4,Y
ddd,2,3,4,Y
ddd,2,3,4,Y
eee,2,3,4,
fff,2,3,4,Y
ggg,2,3,4,Y
hhh,2,3,4,
hhh,2,3,4,
я попробовал
for i in $(cat file1.csv); do awk -F "," '$1==$i{$5="Y"}1' OFS="," file2.csv ; done
Но я получаю только сопоставленные записи, но не сопоставленные записи.
Есть ли лучший способ, которым я могу достичь этого в UNIX, используя awk, sed или другие распространенные утилиты.
EDIT:
Обновить вопрос на понятном примере