我想替换文件中的部分字符串,即将NFIN=4
替换为W=4N
。
请注意,在NFIN=4
的数字部分,数字可以是任何int或float值;如果输入为NFIN=3.0
,则输出应为W=3.0
。
没有负数,它是3或3.0。
例如,输入行:
XMPparasitic2 VDD:F86 VDD:F87 VDD:F88 VNW pch_lvt_mac L=8N NFIN=4 ODIND=5
应该成为输出:
XMPparasitic2 VDD:F86 VDD:F87 VDD:F88 VNW pch_lvt_mac L=8N W=4N ODIND=5
答案 0 :(得分:0)
您可以使用此sed
命令匹配数字数据:
cat file
XMPparasitic2 VDD:F86 VDD:F87 VDD:F88 VNW pch_lvt_mac L=8N NFIN=4 ODIND=5
XMPparasitic2 VDD:F86 VDD:F87 VDD:F88 VNW pch_lvt_mac L=8N NFIN=FOO ODIND=5
XMPparasitic2 VDD:F86 VDD:F87 VDD:F88 VNW pch_lvt_mac L=8N NFIN=4.0 ODIND=5
sed -E 's/NFIN=([0-9]+\.[0-9]+)/W=\1/g; s/NFIN=([0-9]+)/W=\1N/g' file
XMPparasitic2 VDD:F86 VDD:F87 VDD:F88 VNW pch_lvt_mac L=8N W=4N ODIND=5
XMPparasitic2 VDD:F86 VDD:F87 VDD:F88 VNW pch_lvt_mac L=8N NFIN=FOO ODIND=5
XMPparasitic2 VDD:F86 VDD:F87 VDD:F88 VNW pch_lvt_mac L=8N W=4.0 ODIND=5
答案 1 :(得分:-2)
sed -E 's/NFIN=([0-9]+(\.[0-9]+)?)/W=\1N/' file