Я пытаюсь вернуть первое вхождение нескольких строк, т. Е. Я хочу выбрать строки из следующего текста, где происходит первое появление 1259, 3009 и 1589.Необходимость grep для первых вхождений нескольких строк
ADWN 1259 11:00 B23
ADWN 3009 12:00 B19
DDWN 723 11:30 B04
ADWN 1589 14:20 B12
ADWN 1259 11:10 B23
DDWN 2534 13:00 B16
ADWN 3009 11:50 B14
Это дает мне все матчи:
grep '1259\|3009\|1589' somelog.log
И это дает мне только первый матч
grep -m 1 '1259\|3009\|1589' somelog.log
Я хочу вернуть следующее:
ADWN 1259 11:00 B23
ADWN 3009 12:00 B19
ADWN 1589 14:20 B12
I думаю, что создание файла с req uired values, а затем прокручивать файл, передавая каждый номер индивидуально команде grep, даст мне то, что я ищу, но я не нашел примера этого. Есть ли простое решение для этого, является ли цикл лучшим способом справиться с этим, или на этот пример уже был дан ответ в другом месте?
Заранее спасибо за ваши идеи и suggestions--
Клайд
Steve - спасибо, это то, что я спросил, он возвращает первое появление каждого значения. У меня есть некоторое чтение, чтобы сделать на awk и понять, что делает код –
Я могу добавить краткое объяснение, если вы хотите. Повесьте там ... – Steve
Ницца, я ценю объяснение - некоторые из этих вещей могут быть довольно непрозрачными! Я обязательно смогу использовать это, спасибо снова! –