В никсах начинающий чайник, так что не злитесь если вопрос лольный. :)Как с помощью grep выдрать строку из файла с двумя(тремя,четырьмя...) условиями? Еще проще - как задать 2(3,4...) условия отбора с помощью grep. Нужны только те строки, которые удовлетворяли-бы сразу всем заданным условиям.
Я щас просто тупо несколько раз "grepлю" файл:
cat aaa.txt |grep xaxaxa > xaxaxa.txt
cat xaxaxa.txt |grep xexexe > xexexe.txt
....
....Хотелость бы сразу одним условием - одной строкой
>[оверквотинг удален]
>только те строки, которые удовлетворяли-бы сразу всем заданным условиям.
>
>Я щас просто тупо несколько раз "grepлю" файл:
>
>cat aaa.txt |grep xaxaxa > xaxaxa.txt
>cat xaxaxa.txt |grep xexexe > xexexe.txt
>....
>....
>
>Хотелость бы сразу одним условием - одной строкойcat исходный_файл| grep первое_условие | grep второе_условие| ....| grep n-ое_условие > конечный_файл
это был вариант когда все словия через логическое И
если нужно через ИЛИ
grep regex1\|regex2\|regex3 ну и так далее. При необходимости можно использовать еще \( и \) для группировки
> это был вариант когда все словия через логическое И
> если нужно через ИЛИ
> grep regex1\|regex2\|regex3 ну и так далее. При необходимости можно использовать
> еще \( и \) для группировкиВ таком случае необходимо использовать ключ -E либо egrep (читайте man):
grep -E "regex1|regex2|regex3" (проверено - работает).
>Как с помощью grep выдрать строку из файла с двумя(тремя,четырьмя...) условиями? Еще
>проще - как задать 2(3,4...) условия отбора с помощью grep. Нужны
>только те строки, которые удовлетворяли-бы сразу всем заданным условиям.Можно использовать цепочку grep'ов, объединённых pipe'ом. Возможно также использовать regexp. Ну и ещё с помощью sed/awk можно.
>Хотелость бы сразу одним условием - одной строкой
grep xaxa aaa.txt | grep xexe | grep blabla
Спасибо всем - реально помогли :)
> Спасибо всем - реально помогли :)Если нужно искать не по одному параметру, а по нескольким
grep 'usl1\|usl2' file