ファイルから2つの文字列を検索し、両方の文字列を含む出力行

ファイルから2つの文字列を検索し、両方の文字列を含む出力行

そのため、コマンドラインで2つの文字列とファイル名を渡し、ファイルからこれら2つの文字列を検索したいと思います。入力例:script.sh file.txt AB 78
出力例:001,AB,cse,78

(ファイルにこの行と一致しない他の行がある場合)

私の試み:

`#/usr/bin/env bash`  
`grep '$2.*$3\|$3.*$2' $1`

しかし、これはうまくいきません。誰でも助けることができますか?

ベストアンサー1

$2検索文字列を許可および$3拡張するには、単一引用符を二重引用符に変更する必要があります。

#/usr/bin/env bash
grep "$2.*$3\|$3.*$2" $1

より良い説明は次のとおりです。

https://stackoverflow.com/questions/6697753/difference- Between-single-and-double-quotes-in-bash#6697781

おすすめ記事