sed 将匹配的单词替换为行尾

Jig*_*dhi 2 tcsh sed string

我试图删除特定匹配模式后的所有字符,即nfin到行尾。

示例文本

xxsac00mi126 vddai:f1042 tkeept_iph xsac00.f1040 vdda lvtpfet m=1 nf=1 nfin=2 pdej=1.6e-07 asej=3.2e-16 lrsd=4e-08 pre_layout_local=0 
Run Code Online (Sandbox Code Playgroud)

命令

sed -i "s/nfin\=[0-9].*//g" sample_text
Run Code Online (Sandbox Code Playgroud)

期望输出

xxsac00mi126 vddai:f1042 tkeept_iph xsac00.f1040 vdda lvtpfet m=1 nf=1 nfin=2  
Run Code Online (Sandbox Code Playgroud)

mau*_*wns 5

试试这个sed

sed -E 's/ pdej.*$//'
Run Code Online (Sandbox Code Playgroud)

例子:

sed -E 's/ pdej.*$//' file.txt 
xxsac00mi126 vddai:f1042 tkeept_iph xsac00.f1040 vdda lvtpfet m=1 nf=1 nfin=2
Run Code Online (Sandbox Code Playgroud)

其中file.txt包含:

cat file.txt 
xxsac00mi126 vddai:f1042 tkeept_iph xsac00.f1040 vdda lvtpfet m=1 nf=1 nfin=2 pdej=1.6e-07 asej=3.2e-16 lrsd=4e-08 pre_layout_local=0
Run Code Online (Sandbox Code Playgroud)


或:
如果您想(需要)nfin用作各种锚点,请使用:

sed -E 's/(.*nfin=[0-9]).*/\1/' file.txt 
xxsac00mi126 vddai:f1042 tkeept_iph xsac00.f1040 vdda lvtpfet m=1 nf=1 nfin=2
Run Code Online (Sandbox Code Playgroud)