У меня есть два файла. Я ищу строки по одному в одном файле и обновляю запись в другом файле.Скажем, у меня есть текстовый файл A.csv
TABLE1, ABC_STRING
TABLE2, ABC_STRING
TABLE3, ABC_STRING
B.csv
TABLEA,SOMEVALUE,ABC_STRING,NULL,ABC_STRING
TABLEB,SOMEVALUE,ABC_STRING,NULL,ABC_STRING
TABLE1,SOMEVALUE,ABC_INT,NULL,ABC_INT
TABLEC,SOMEVALUE,ABC_STRING,NULL,ABC_STRING
TABLE2,SOMEVALUE,ABC_INT,NULL,ABC_INT
TABLE3,SOMEVALUE,ABC_INT,NULL,ABC_INT
Ожидается вывод в новом файле, например:
TABLEA,SOMEVALUE,ABC_STRING,NULL,ABC_STRING
TABLEB,SOMEVALUE,ABC_STRING,NULL,ABC_STRING
TABLE1,SOMEVALUE,ABC_STRING,NULL,ABC_STRING
TABLEC,SOMEVALUE,ABC_STRING,NULL,ABC_STRING
TABLE2,SOMEVALUE,ABC_STRING,NULL,ABC_STRING
TABLE3,SOMEVALUE,ABC_STRING,NULL,ABC_STRING
Я пробовал какthis:
for i in $(grep -w "ABC_STRING" A.csv | awk -F ',' '{print $1}'); do
grep -w "$i" B.csv | sed 's/ABC_INT/ABC_STRING/g'
done | more
Я не уверен, как написать команду для копирования каждой строки, проверить, содержит ли она строку, если она доступна, заменить и записать ее в C.csv, если не записать ее втот же C.csv.Может ли кто-нибудь предоставить фрагмент кода для моего требования.