Я понимаю, что этот вопрос может повторяться, но я не понимаю, что именно я ищу. Итак, вот моя необходимость. Я хочу сопоставить столбец-1 между двумя файлами и добавить столбец-4 файла file2.txt в файл file1.txt. Если столбец не сопоставлен, я хочу добавить «0» в качестве последнего поля в файл1.txtДобавление двух файлов на основе общего столбца
У меня есть два файла, снятых непосредственно с сайта NSE.
Данные для FILE1.TXT выглядит следующим образом:
20MICRONS,20170207,41.4,41.75,40.75,40.95,74624
3IINFOTECH,20170207,5.5,5.65,5.5,5.6,2679590
3MINDIA,20170207,11865.7,11919.95,11632.05,11892.25,425
и так далее. Это мой основной файл, поэтому все строки в файле file1.txt должны быть сохранены.
Данные для file2.txt выглядит следующим образом:
20MICRONS,EQ,57597,77.18
3IINFOTECH,EQ,1795693,67.01
и так далее ...
Пожалуйста, обратите внимание, как файл не может содержать одинаковое число строк.
Мой выходной файл может выглядеть,
20MICRONS,20170207,41.4,41.75,40.75,40.95,74624,77.18
3IINFOTECH,20170207,5.5,5.65,5.5,5.6,2679590,67.01
3MINDIA,20170207,11865.7,11919.95,11632.05,11892.25,425,0
Я попробовал это,
awk -F, 'NR==FNR{a[$1]=$0; next} {print a[$1]","$4}' file1.txt file2.txt
но не получает весь ряд file1.txt как выход.
Привет, Nehal .. Ваш сценарий работает. Но он занимает слишком много времени, так как в моем файле около 1700 записей. Любое предложение о лучшей версии скрипта? – Ram