grepで位置パラメータを使用する

grepで位置パラメータを使用する

プロジェクトファイルで何かを見つけたときに文字列を簡単にコピー/貼り付けできるように、場所パラメータを適用したいと思います。

このコマンドはうまく動作します。

grep myString -R .

ただし、このコマンドは次のことを行いません。

grep "$1" -R . myString

一重引用符、括弧の使用など、いくつかの組み合わせを試しました。

私のプロジェクトで文字列を再帰的に検索する方法について提案を送信していただきありがとうございます。

編集:シェルスクリプトではなく、端末で直接このコマンドを使用してみました。

ベストアンサー1

あなたの質問は非常に明確ではなく、正確に理解しているかどうかわかりません。私の理解が間違っていれば申し訳ありません。

しかし、私が正しく理解したら、検索パターンをコマンドの最後に置く方法でgrepを使用できるようにしたいと思います。コピーするよりも、コマンドの最後にコピーして貼り付ける方が便利です。特に、コマンドを複数回実行するときに別の検索モードを使用する場合は、コマンドの先頭に貼り付けてください。

残念ながら、grepの構文では、検索パターンが指定された検索位置の前に表示される必要があります。

私の考えには2つの解決策があります。 1つ目は関数を定義することです。

これをに入れるか、.bashrcセッションに対して一度だけ定義できます。

recgrep() {
    grep "$1" -R .
}

その後、次のように関数を呼び出すことができます。

recgrep myString

現在のフォルダから mystring を再帰的に検索します。

もう一つは使用することです。リップグレップ、GNU grepの代わりにデフォルトで再帰的に検索します。私の経験では、GNU grepよりも高速です。

rg myString

おすすめ記事