Я пишу скрипт bash, который будет искать в нескольких файлах.Grep multiple bash parameters
Проблемы Я сталкиваюсь, что я не могу задать расширенную неопределенное количество переменных, передаваемые в качестве параметров сценария Баша
Я хочу это сделать следующее:
Учитывая случайное число параметры. то есть:
./searchline.sh A B C
Сделайте Grep на первой, а результат задать расширенное с остальными:
grep "A" * | egrep B | egrep C
То, что я пытался сделать, это построить строку с egreps:
for j in "${@:2}";
do
ADDITIONALSEARCH="$ADDITIONALSEARCH | egrep $j";
done
grep "$1" * "$ADDITIONALSEARCH"
Но как-то это не сработает, похоже, что bash не обрабатывает строку egrep как egrep.
У вас есть какие-либо советы?
Кстати, в качестве побочного примечания я не могу создать какой-либо вспомогательный файл, поэтому grep -f выходит из строки, я думаю. Также обратите внимание, что количество параметров, переданных скрипту bash, является переменной, поэтому я не могу выполнить egrep «$ 2» | egrep "$ 3".
Заранее спасибо.
Фернандо
@fedorqui: '|' означает ИЛИ, а не. Когда вы набираете egrep, вам нужно пересечение шаблонов, поэтому AND. – Bentoy13