Я хотел бы передать параметр в конце строки, пока я даю команду в терминале.

Так что я хотел бы что-то вроде примера ниже

find /path/to/directory -type f -exec grep -irl "SEARCH_PATTERN" {} \;

что-то вроде этого формата:

find /path/to/directory -type f -exec grep -irl "$1" {} \; < "SEARCH_PATTERN"

и таким образом мне не нужно идти каждый раз и менять команду в части -irl "SEARCH_PATTERN" . Вместо этого я просто дам это легче в конце строки.

заранее спасибо

2 ответа2

2

Создать функцию:

mygrep() { find /path -type f -exec grep -irl "$1" {} +; }

mygrep waldo

На самом деле, почему вам вообще нужно find?

mygrep() { grep -irl "$1" /path; }
0

Единственное, о чем я могу думать прямо сейчас, для этого конкретного случая - создать переменную среды SEARCH_PATTERN и использовать ее каждый раз, когда вы захотите ее использовать.

Быстрый пример;

$ SEARCH_PAT="abc"
$ find /path -type f -exec grep -irl "${SEARCH_PAT}" {} \;
$ SEARCH_PAT="xyz"
$ find /path -type f -exec grep -irl "${SEARCH_PAT}" {} \;

так далее...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .