sed で一致した文字列のみを返す

sed で一致した文字列のみを返す

重複の可能性あり:
'sed' に一致する正規表現を周囲の文字を印刷せずに抽出する

これを印刷のみにするにはどうすればいいですかtest?

echo "atestb" | sed -n 's/\(test\)/\1/p'

答え1

行全体を一致させる必要があります:

echo "atestb" | sed -n 's/.*\(test\).*/\1/p'

または

echo "atestb" | sed 's/.*\(test\).*/\1/'

関連情報