Итак, я хочу передать 2 строки и имя файла из командной строки и выполнить поиск обеих строк в файле.
Пример ввода: script.sh file.txt AB 78
Пример вывода: 001, AB, cse, 78
(где в файле есть эта строка среди других, которые не совпадают)
Моя попытка:
`#/usr/bin/env bash`
`grep '$2.*$3\|$3.*$2' $1`
Однако это не сработает. Кто-нибудь может помочь?
Вам нужно заменить одинарную кавычку на двойную, чтобы $2
и $3
были развернуты в строку поиска:
#/usr/bin/env bash
grep "$2.*$3\|$3.*$2" $1
Лучшее объяснение здесь: