与えられたフォームを含む行だけsedする方法は?

与えられたフォームを含む行だけsedする方法は?

入力は次のとおりです。

asdfZE3033141xycf
asdfINSFRHxycf

次の出力が必要です。

asdfZE3033141

asdfINSFRHxycf

だから私は1つを使用しました:

echo -e 'asdfZE3033141xycf\nasdfINSFRHxycf' | sed '/asdfZE3033141xycf/ s=xycf$=\n='

しかし、一般的にこれが必要です。だから私は毎回sedをする必要があります:

asdfZE[0-9][0-9][0-9][0-9][0-9][0-9][0-9]xycf

テキストファイルの行。 「[0-9]」をsedに入れることはできません。どうすればいいですか?

ベストアンサー1

仕事を少し修正してみてはいかがでしょうか?

echo -e 'asdfZE3033141xycf\nasdfINSFRHxycf' | sed -e 's/^\(asdfZE[0-9]\{7\}\)xycf$/\1\n/'

おすすめ記事