変数に Grep の出力を代入する方法

変数に Grep の出力を代入する方法

grep変数に出力を割り当てようとしています。次のコマンドは、スクリプトの正しい出力を提供します。

str="DWMessStage-20230609-083501.xml__a6e27c1.4a73a37b.13.1889d3efa14.N7f9d.stage"

echo $str  | grep "__"  | tr -s "__" | tr -s "__" | cut -d "_" -f1

Output : DWMessStage-20230609-083501.xml

これで、echo出力を変数に割り当てたくありません。

私は以下で試しました

varfilname=$(str | grep "__" | tr -s "__" | tr -s "__" | cut -d "_" -f1)

varfilname=$($str | grep "__" | tr -s "__" | tr -s "__" | cut -d "_" -f1)

varfilname="$str | grep "__" | tr -s "__" | tr -s "__" | cut -d "_" -f1"

これらのどれも機能しません。変数に割り当てる方法

答え1

varfilname=$(echo $str | grep "__" | tr -s "__" | tr -s "__" | cut -d "_" -f1)

これは私にとって効果的です

関連情報