ワイルドカードパスを使用して特定のファイルを検索するbashスクリプトに取り組んでいます。そのファイル名が見つかると、ファイル内で特定の用語を検索し、それを置き換えます。
これが私がすでにまとめたものです:
#!/bin/sh
PATH=${1}
FILENAME="$2"
SEARCHFOR="$3"
/usr/bin/clear
echo "Searching $PATH"
echo "For the file $FILENAME"
echo "With the string $SEARCHFOR"
echo "=========================="
echo " RESULTS "
echo "=========================="
/usr/bin/find $PATH -type f -name "$FILENAME" | /usr/bin/xargs /bin/grep -l "$SEARCHFOR"
まだ置換を追加していませんが、テスト目的でgrepを使用するだけで、grepの代わりにSEDを使用することにしました。
上記のコードでは、任意のタイプのワイルドカードパスに引用符を使用する必要があります。これを回避する方法はありますか?
./script '/home/*/public_html' php.ini module.so
引数を使って考えていたのですが、別の方法が必要です。
私の最終的な目標は、ワイルドカードパスまたはファイル名を渡すことができるbashスクリプトを用意することです。ファイルが見つかると、そのファイルを検索し、特定の用語を検索し、見つかった場合はそれを置き換えます。
とてもシンプルに聞こえますが、そうあるべきですが、bashをいじってからかなり時間が経っているので、机に頭をぶつけています... aaggghh助けて!