Linux コマンドの行末にパラメータを渡す方法

Linux コマンドの行末にパラメータを渡す方法

ターミナルでコマンドを実行するときに、行末にパラメータを渡したいと思います。

なので、以下のような例がほしいです

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"。代わりに、行の最後に簡単にコマンドを与えることができます。

前もって感謝します

答え1

関数を作成します。

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

mygrep waldo

実際のところ、なぜ が必要なのでしょうかfind?

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

答え2

この特定のケースで今私が考えられる唯一のことは、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}" {} \;

等...

関連情報