パラメータ付きのgrep -Eは機能しません。

パラメータ付きのgrep -Eは機能しません。

スクリプトのオプションを使用すると、-Eユーザー変数は使用できません。grepたとえば、

txtファイル:

word
nir asd b asd
text

スクリプト:

#!/bin/bash

PARAM=b
cat txt | grep -E 'nir.*${PARAM}'

スクリプトは何も返しません。-Eオプションを使用すると、何らかの方法で変数をエスケープする必要があると思います。

答え1

PARAM=b
grep -E "nir.*${PARAM}" txt

または

grep -E 'nir.*'"${PARAM}" txt

関連情報