Прочитать 2-й файл, сохранить содержимое в массив (ключ = 1-е поле,значение = 2-е поле ), затем прочитайте 1-й файл и проверьте, является ли 1-е поле общим ключом и отличается ли соответствующее 2-е поле. Если результат положительный, выведите ключ и два значения:
awk 'BEGIN{FS=OFS=","}NR==FNR{z[$1]=$2;next}
{if (z[$1] && (z[$1]!=$2)){print $0, z[$1]}}' file2 file1
Боюсь, вы путаете сценарии оболочки и программы на C. Понятия «скрипт C» на самом деле не существует, и то, что ваш скрипт пытается сделать, это просто напечатать исходный код C (, т. е. все, от начальной инструкции CPP #include
до закрывающей скобки main
. ] функцию )на консоль.
Сообщения об ошибках выглядят так, как если бы вы пытались скомпилировать сценарий оболочки.
Вместо этого вы должны скомпилировать код C и выполнить полученный двоичный файл.