Сравнение содержимого двух файлов с конкретными значениями в shellScript - PullRequest
0 голосов
/ 03 октября 2018

Я очень новичок в сценарии оболочки и мне нужна помощь. У меня есть 2 файла, т.е.

Student.txt001, Питер, класс 3002, Мохит, класс 4и так далее...

Marks.txt001, История, 45001, математика, 55002, компьютер, 76002, математика, 96и так далее...Я хочу прочитать первое слово (т.е. номер ролла) из Student.txt, т.е. 001,002 в моем примере, а затем выполнить поиск содержимого (номер ролла) в другом файле. Marks.txt 1-е слово И 2-е слово должно быть «История», (условие: $ 1 == Roll No && $ 2 == История)

Я прошел awk cmd и попытался, но не смог сделать полное решение

awk -F "," '{print $ 1} 'student.txt awk -F ","' {print $ 1, $ 2} 'marks.txt

1 Ответ

0 голосов
/ 03 октября 2018

Эта команда сначала собирает номера бросков из файла Marks.txt с историей во втором столбце, а затем печатает строки из файла Student.txt с номерами бросков из этого списка:

awk 'BEGIN {FS=", "} FNR==NR{ if ($2=="History"){a[$1];} next} $1 in a' Marks.txt Student.txt

Вывод:

001, Peter, class3

РЕДАКТИРОВАТЬ: см. Это для получения дополнительной информации об обработке нескольких файлов с помощью awk: Использование AWK для обработки ввода из нескольких файлов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...