grepを使用して、パスを含む2つの文字列変数間の部分文字列を見つけます。

grepを使用して、パスを含む2つの文字列変数間の部分文字列を見つけます。

文字列変数を使用して、あるパスが別のパス内に存在することを確認したいと思います。

私のスクリプト:

#!/bin/bash

HAYSTACK="/cygdrive/d/var/www/html/adm4"
NEEDLE="/cygdrive/d/var/www/html"

# first try
#grep -q "$NEEDLE" "$HAYSTACK"

#second try
grep -q "${NEEDLE}" "${HAYSTACK}"

if [ $? -eq 0 ] ; then
    echo  "Your string has been found"
else
    echo "Your string has not been found"
fi

結果:

me@localhost ~]$ ./testbash
grep: : No such file or directory
Your string has not been found

これは私がより多くのことをしなければならないので、私は疑います。

ベストアンサー1

Grepにはこの形式のコマンドが必要なので、grep [options] PATTERN [FILE...]2番目の文字列をスキャンするファイルとして扱います。 1行でstdinに送信できます。

echo $haystack | grep $needle

または好きなように。たぶんここに文字列があるかもしれません。

grep $needle <<< $haystack

おすすめ記事