一致する文字列 sed の 2 つの個別の単語を置き換えます。

一致する文字列 sed の 2 つの個別の単語を置き換えます。

次の入力文字列を考えます。

PLOG_NFET_SLVT nf=3 ng=1 nl=20n

出力

PLOG_NFET_LVT nf=3 ng=1 nl=14n

注:最初の単語と最後の単語が置き換えられます。データ間にも違いがあります。だから私は一定のパターンを持つことはできません。次のコマンドを試してみました。

sed -i 's/PLOG.*FET_SLVT.*nl=20n/PLOG.*FET_LVT.*nl=14n/g' file

出力は次のとおりです

PLOG.*FET_LVT.*nl=14n

助けが必要ですか?

ベストアンサー1

検索パターンでキャプチャグループを使用し、置換パターンに逆参照(\1または)を追加できます。\2

sed 's/PLOG_\([A-Z]\)FET_SLVT \(.*\) nl=20n/PLOG_\1FET_LVT \2 nl=14n/'

おすすめ記事